f5networks.f5_modules.bigip_policy_rule – Управление правилами политики LTM на BIG-IP
Примечание
Этот модуль является частью коллекции f5networks.f5_modules (версия 1.6.0).
Для его установки используйте: ansible-galaxy collection install f5networks.f5_modules
Для использования в плейбуке укажите: f5networks.f5_modules.bigip_policy_rule
Новое в версии 1.0.0: модуля f5networks.f5_modules
Обзор
- Этот модуль будет управлять правилами политики LTM на BIG-IP.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- BIG-IP >= v12.1.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| actions список / элементы=словарь | Действия, которые должен выполнить правило политики. Доступные атрибуты зависят от действия, однако для каждого действия необходимо указать type. Эти условия могут быть указаны в любом порядке. Несмотря на то, что они находятся в списке, порядок в списке не имеет значения для BIG-IP. | ||
| asm_policy строка | Политика ASM для включения. Этот параметр действителен только с типом enable. | ||
| cookie_expiry целое число добавлен в 1.1.0 f5networks.f5_modules | Необязательный аргумент, указывающий время, в течение которого сессия будет сохранена. Этот параметр действителен только с типом persist. | ||
| cookie_insert строка добавлен в 1.1.0 f5networks.f5_modules | Имя cookie, которое необходимо сохранить. Этот параметр действителен только с типом persist. | ||
| event строка | События, при которых действия, такие как сброс, могут быть инициированы. Вместе с действием set_variable, оно используется для указания события действия, такого как запрос или ответ. | ||
| expression строка | Tcl-выражение, используемое с действием set_variable. | ||
| location строка | Новый URL, для которого будет отправлен ответ перенаправления. Для этого поля можно использовать подстановку Tcl-команд. | ||
| node строка добавлен в 1.2.0 f5networks.f5_modules | Узел, на который необходимо перенаправить трафик. Этот параметр действителен только с типом forward. | ||
| pool строка | Пул, на который необходимо перенаправить трафик. Этот параметр действителен только с типом forward. | ||
| type строка / обязательно |
| Тип действия. Это значение определяет, какие из следующих опций являются обязательными. Когда type имеет значение forward, система связывает данное pool, или virtual, или node с этим правилом.Когда type имеет значение enable, система связывает данное asm_policy с этим правилом.Когда type имеет значение ignore, система удаляет все существующие действия из этого правила.Когда type имеет значение redirect, система перенаправляет HTTP-запрос на другой URL.Когда type имеет значение reset, система сбрасывает соединение при event. Когда type имеет значение persist, система связывает cookie_insert и cookie_expiry с этим правилом.Когда type имеет значение set_variable, система устанавливает переменную на основе вычисленного Tcl expression, основанного на event. | |
| variable_name строка | Имя переменной, используемой с действием set_variable. | ||
| virtual строка | Виртуальный сервер, на который необходимо перенаправить трафик. Этот параметр действителен только с типом forward. | ||
| conditions список / элементы=словарь | Список атрибутов, описывающих условие. Подробную информацию о построении каждой записи списка см. в подразделах. Порядок этого списка важен, модуль обеспечит сохранение порядка при изменении задачи. Не все типы условий требуют указанных ниже параметров подраздела, см. описание для получения дополнительных сведений. Эти условия могут быть указаны в любом порядке. Несмотря на то, что они находятся в списке, порядок в списке не имеет значения для BIG-IP. | ||
| event строка | События, при которых могут быть инициированы условия, такие как расширение SSL. | ||
| host_begins_with_any строка | Список строк символов, с которых должен начинаться HTTP Host. Этот параметр действителен только с типом http_host. | ||
| host_is_any строка | Список строк символов, которым должен соответствовать HTTP Host. Этот параметр действителен только с типом http_host. | ||
| host_is_not_any строка | Список строк символов, которым HTTP Host не должен соответствовать. Этот параметр действителен только с типом http_host. | ||
| path_begins_with_any строка | Список строк символов, с которых должен начинаться HTTP URI. Этот параметр действителен только с типом http_uri. | ||
| server_name_is_any строка | Список строк символов, которым должно соответствовать расширение SSL. Этот параметр действителен только с типом ssl_extension. | ||
| type строка / обязательно |
| Тип условия. Это значение определяет, какие из следующих опций являются обязательными. Когда type имеет значение http_uri, система связывает данный path_begins_with_any список строк, с которых должен начинаться HTTP URI. Любой элемент в списке обеспечит соответствие.Когда type имеет значение all_traffic, система удаляет все существующие условия из этого правила. | |
| description строка | Описание правила политики. | ||
| name строка / обязательно | Имя правила. | ||
| partition строка | По умолчанию: "Common" | Раздел устройства для управления ресурсами. | |
| policy строка / обязательно | Имя политики, с которой необходимо связать это правило. | ||
| provider словарь добавлен в 1.0.0 f5networks.f5_modules | Объект словаря, содержащий данные подключения. | ||
| auth_provider строка | Настраивает поставщика аутентификации для получения маркеров аутентификации от удаленного устройства. Эта опция используется при работе с устройствами BIG-IQ. | ||
| no_f5_teem логическое значение |
| Если yes, данные телеметрии TEEM не отправляются в F5.Можно опустить эту опцию, установив переменную среды F5_TEEM. | |
| password строка / обязательно | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Можно опустить эту опцию, установив переменную среды F5_PASSWORD. псевдонимы: pass, pwd | ||
| server строка / обязательно | Хост BIG-IP. Можно опустить эту опцию, установив переменную среды F5_SERVER. | ||
| server_port целое число | По умолчанию: 443 | Порт сервера BIG-IP. Можно опустить эту опцию, установив переменную среды F5_SERVER_PORT. | |
| timeout целое число | Устанавливает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечет до завершения операции, модуль выдаст ошибку. | ||
| transport строка |
| Настраивает транспортное соединение для использования при подключении к удаленному устройству. | |
| user строка / обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Можно опустить эту опцию, установив переменную среды F5_USER. | ||
| validate_certs boolean |
| Если no, сертификаты SSL не проверяются. Используйте только на сайтах, контролируемых лично, с использованием самозаверенных сертификатов.Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS. | |
| state string |
| Когда present, гарантирует загрузку ключа на устройство. Когда absent, гарантирует удаление ключа с устройства. Если ключ в настоящее время используется, модуль не сможет удалить ключ. | |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на https://www.ansible.com/integrations/networks/f5.
- Требуется версия ПО BIG-IP >= 12.
- Модули F5 манипулируют только активной конфигурацией продукта F5. Чтобы убедиться, что конфигурация, специфичная для BIG-IP, сохранится на диске, обязательно включите хотя бы одну задачу, использующую модуль f5networks.f5_modules.bigip_config, для сохранения активной конфигурации. Обратитесь к документации модуля за правильным использованием модуля для сохранения текущей конфигурации.
Примеры
- name: Create policies
bigip_policy:
name: Policy-Foo
state: present
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Add a rule to the new policy
bigip_policy_rule:
policy: Policy-Foo
name: rule3
conditions:
- type: http_uri
path_begins_with_any: /ABC
actions:
- type: forward
pool: pool-svrs
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Add multiple rules to the new policy
bigip_policy_rule:
policy: Policy-Foo
name: "{{ item.name }}"
conditions: "{{ item.conditions }}"
actions: "{{ item.actions }}"
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
loop:
- name: rule1
actions:
- type: forward
pool: pool-svrs
conditions:
- type: http_uri
path_begins_with_any: /euro
- name: rule2
actions:
- type: forward
pool: pool-svrs
conditions:
- type: http_uri
path_begins_with_any: /HomePage/
- name: rule3
actions:
- type: set_variable
variable_name: user-agent
expression: tcl:[HTTP::header User-Agent]
event: request
conditions:
- type: http_uri
path_begins_with_any: /HomePage/
- name: Remove all rules and confitions from the rule
bigip_policy_rule:
policy: Policy-Foo
name: rule1
conditions:
- type: all_traffic
actions:
- type: ignore
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
Возвращаемые значения
Общие значения, возвращаемые модулями, описаны в здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| actions сложный | изменено | Новый список действий, применённых к правилу. Пример: хеш/словарь значений | |
| pool строка | изменено | Пул для перенаправления. Пример: foo-pool | |
| type строка | изменено | Тип действия. Пример: перенаправление | |
| conditions сложный | изменено | Новый список условий, применённых к правилу. Пример: хеш/словарь значений | |
| path_begins_with_any список / элементы=строка | изменено | Список строк, с которыми URI начинается. Пример: ['foo', 'bar'] | |
| type строка | изменено | Тип условия. Пример: http_uri | |
| description строка | изменено | Новое описание правила. Пример: Моё правило | |
Авторы
- Tim Rupp (@caphrim007)
- Wojciech Wypior (@wojtek0806)
- Greg Crosby (@crosbygw)
- Nitin Khanna (@nitinthewiz)
- Andrey Kashcheev (@andreykashcheev)
© 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/f5networks/f5_modules/bigip_policy_rule_module.html