Spec-Zone.ru › Ansible

Модуль f5networks.f5_modules.bigip_policy_rule — управление правилами политики LTM на BIG-IP

Примечание

Этот модуль входит в коллекцию f5networks.f5_modules (версия 1.39.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install f5networks.f5_modules. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: f5networks.f5_modules.bigip_policy_rule.

Добавлено в f5networks.f5_modules 1.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль управляет правилами политики LTM на BIG-IP.

Требования

Следующие требования необходимы на хосте, на котором выполняется этот модуль.

  • BIG-IP >= v12.1.0

Параметры

Параметр

Комментарии

actions

list / elements=dictionary

Действия, которые должно выполнять правило политики.

Доступные атрибуты различаются в зависимости от действия, однако для каждого действия необходимо указать type.

Эти условия можно указать в любом порядке. Несмотря на то, что они представлены в виде списка, порядок элементов в списке не имеет значения для BIG-IP.

asm_policy

string

Политика ASM, которую нужно включить.

Этот параметр допустим только для типа enable.

cookie_expiry

integer

добавлено в f5networks.f5_modules 1.1.0

Необязательный аргумент, задающий время сохранения привязки сеанса.

Этот параметр допустим только для типа persist.

cookie_insert

string

добавлено в f5networks.f5_modules 1.1.0

Имя cookie, для которого нужно сохранить привязку.

Этот параметр допустим только для типа persist.

disable_target

string

добавлено в f5networks.f5_modules 1.8.0

Целевой объект, который нужно отключить.

Этот параметр допустим только для типа disable.

Варианты:

  • "server_ssl"
  • "persist"
  • "asm"

event

string

События, при наступлении которых могут запускаться такие действия, как сброс и перенаправление.

Для действия set_variable используется для указания события действия, например запроса или ответа.

Допустимые варианты событий для типа действия forward: client_accepted, proxy_request request, ssl_client_hello и ssl_client_server_hello_send.

Допустимые варианты событий для типа действия reset: client_accepted, proxy_connect proxy_request, proxy_response, request, response, server_connected, ssl_client_hello, ssl_client_server_hello_send, ssl_server_handshake, ssl_server_hello, websocket_request, websocket_response.

Допустимые варианты событий для типа действия disable: client_accepted, proxy_connect proxy_request, proxy_response, request, server_connected.

expression

string

Выражение Tcl, используемое с действием set_variable.

http_connect

dictionary

добавлено в f5networks.f5_modules 1.8.0

Заголовок HTTP Connect, который нужно заменить.

Этот параметр допустим только для типа replace.

event

string / обязательный

Тип события, при котором заменяется заголовок http_connect.

Варианты:

  • "client_accepted"
  • "proxy_connect"
  • "proxy_request"
  • "proxy_response"
  • "request"
  • "server_connected"
  • "ssl_client_hello"

port

integer

Номер порта.

Если номер порта не указан, по умолчанию устанавливается значение 0.

Задавайте правила явно, чтобы система не переопределяла значения портов.

value

string / обязательный

Значение http_connect.

http_cookie

dictionary

добавлено в f5networks.f5_modules 1.8.0

Заголовок HTTP Cookie, который нужно удалить или добавить.

Этот параметр допустим только для типов remove и insert.

event

string / обязательный

Тип события, при котором http_cookie удаляется или добавляется.

Варианты:

  • "request"
  • "proxy_connect"
  • "proxy_request"

name

string / обязательный

Имя http_cookie.

value

string

Значение http_cookie.

Этот параметр обязателен при настройке действия типа insert.

http_header

dictionary

добавлено в f5networks.f5_modules 1.8.0

Заголовок HTTP, который нужно удалить или добавить.

Этот параметр допустим только для типов remove, insert и replace.

event

string / обязательный

Тип события, при котором http_header удаляется, заменяется или добавляется.

События request и response доступны только для типов remove и insert.

Для действия типа replace допустимы все события.

Варианты:

  • "request"
  • "response"
  • "proxy_connect"
  • "proxy_request"
  • "proxy_response"

name

string / обязательный

Имя http_header.

value

string

Значение http_header.

Обязательный параметр при настройке типа insert или replace.

http_host

dictionary

добавлено в f5networks.f5_modules 1.8.0

Заголовок HTTP Host, который нужно заменить.

Этот параметр допустим только для типа replace.

event

string / обязательный

Тип события, при котором http_host заменяется.

Варианты:

  • "request"
  • "proxy_connect"
  • "proxy_request"

value

string / обязательный

Значение http_host.

http_referer

dictionary

добавлено в f5networks.f5_modules 1.8.0

Заголовок HTTP Referer, который нужно удалить, заменить или добавить.

Этот параметр допустим только для типов remove, insert и replace.

event

string / обязательный

Тип события, при котором c(http_referer) удаляется, заменяется или добавляется.

Варианты:

  • "request"
  • "proxy_connect"
  • "proxy_request"

value

string

Значение http_referer.

Этот параметр обязателен при настройке действия типа insert.

Этот параметр игнорируется для типа remove.

Этот параметр необязателен для типа replace.

http_set_cookie

dictionary

добавлено в f5networks.f5_modules 1.8.0

Заголовок HTTP Set-Cookie, который нужно удалить или добавить.

Этот параметр допустим только для типа remove или типа c(insert).

name

string / обязательный

Имя http_set_cookie.

value

string

Значение http_set_cookie.

Этот параметр обязателен при настройке действия типа insert.

http_uri

dictionary

добавлено в f5networks.f5_modules 1.8.0

Заменяет URI, путь или строку HTTP.

Этот параметр допустим только для типа replace.

event

string / обязательный

Тип события, при котором http_uri заменяется.

Варианты:

  • "request"
  • "proxy_connect"
  • "proxy_request"

type

string / обязательный

Указывает часть http_uri, которую нужно заменить.

Варианты:

  • "path"
  • "query_string"
  • "full_string"

value

string / обязательный

Значение http_uri.

location

string

Новый URL, на который отправляется ответ перенаправления.

Для этого поля можно использовать подстановку команды Tcl.

node

string

добавлено в f5networks.f5_modules 1.2.0

Узел, на который нужно перенаправить трафик.

Этот параметр допустим только для типа forward.

pool

string

Пул, на который нужно перенаправить трафик.

Этот параметр допустим только для типа forward.

type

string / обязательный

Тип действия. Это значение определяет, какие из следующих параметров являются обязательными.

Если 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.

Если type имеет значение remove, система удаляет http_set_cookie, http_referer, http_header или http_cookie с помощью этого правила.

Если type имеет значение insert, система добавляет http_set_cookie, http_referer, http_header или http_cookie с помощью этого правила.

Если type имеет значение replace, система заменяет http_connect, http_referer, http_header, http_uri или http_host с помощью этого правила.

Если type имеет значение disable, система отключает disable_target с помощью этого правила.

Варианты:

  • "forward"
  • "enable"
  • "ignore"
  • "redirect"
  • "reset"
  • "persist"
  • "set_variable"
  • "remove"
  • "insert"
  • "replace"
  • "disable"

variable_name

string

Имя переменной, используемое с действием set_variable.

virtual

string

Виртуальный сервер, на который нужно перенаправить трафик.

Этот параметр допустим только для типа forward.

conditions

list / elements=dictionary

Список атрибутов, описывающих условие.

Сведения о создании каждого элемента списка см. в описании вложенных параметров.

Порядок элементов этого списка важен; модуль сохраняет его при изменении задачи.

Следующие вложенные параметры требуются не для всех типов условий; дополнительные сведения см. в описании.

Эти условия можно указать в любом порядке. Несмотря на то, что они представлены в виде списка, порядок элементов в списке не имеет значения для BIG-IP.

address_matches_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.8.0

Список строк с IP-адресами подсетей, которым должен соответствовать IP-адрес.

Этот параметр допустим только для типа tcp.

address_matches_with_datagroup

list / elements=string

добавлено в f5networks.f5_modules 1.8.0

Список строк с именами внутренних групп данных, которым должен соответствовать IP-адрес.

Этот параметр допустим только для типа tcp.

address_matches_with_external_datagroup

list / elements=string

добавлено в f5networks.f5_modules 1.10.0

Список строк с именами внешних групп данных, которым должен соответствовать IP-адрес.

Этот параметр допустим только для типа tcp.

event

string

События, при наступлении которых могут запускаться правила сопоставления условий.

Поддерживается только для http_header, http_method, ssl_extension и tcp.

Допустимые варианты для типов условий http_header: proxy_connect, proxy_request, proxy_response, request и response.

Допустимые варианты для типов условий http_method: proxy_connect, proxy_request, proxy_response, request и response.

Допустимые варианты для типов условий tcp: request, client_accepted, proxy_connect, proxy_request, proxy_response, ssl_client_hello и ssl_client_server_hello_send.

Допустимые варианты для ssl_extension: ssl_client_hello и ssl_client_server_hello_send.

header_is_any

list / elements=string

добавлено в f5networks.f5_modules 1.8.0

Список строк символов, которым должно соответствовать значение HTTP-заголовка.

Этот параметр допустим только для типа http_header.

header_name

string

добавлено в f5networks.f5_modules 1.8.0

Имя http_header.

Этот параметр допустим только для типа http_header.

host_begins_not_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.22.0

Список строк символов, с которых НЕ должно начинаться значение HTTP Host.

Этот параметр допустим только для типа http_host.

host_begins_with_any

list / elements=string

Список строк символов, с которых должно начинаться значение HTTP Host.

Этот параметр допустим только для типа http_host.

host_contains

list / elements=string

добавлено в f5networks.f5_modules 1.23.0

Список строк символов, которые должно содержать значение HTTP Host.

Этот параметр допустим только для типа http_host.

host_ends_not_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.22.0

Список строк символов, которыми НЕ должно начинаться значение HTTP Host.

Этот параметр допустим только для типа http_host.

host_ends_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.8.0

Список строк символов, которыми должно заканчиваться значение HTTP Host.

Этот параметр допустим только для типа http_host.

host_is_any

list / elements=string

Список строк символов, которым должно соответствовать значение HTTP Host.

Этот параметр допустим только для типа http_host.

host_is_not_any

list / elements=string

Список строк символов, которым не должно соответствовать значение HTTP Host.

Этот параметр допустим только для типа http_host.

method_matches_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.10.0

Список строк символов, которым должно соответствовать значение HTTP Method.

Этот параметр допустим только для типа http_method.

path_begins_with_any

list / elements=string

Список строк символов, с которых должен начинаться URI HTTP.

Этот параметр допустим только для типа http_uri.

path_contains

list / elements=string

добавлено в f5networks.f5_modules 1.8.0

Список строк символов, которые должен содержать URI HTTP.

Этот параметр допустим только для типа http_uri.

path_is_any

list / elements=string

добавлено в f5networks.f5_modules 1.8.0

Список строк символов, которым должен соответствовать URI HTTP.

Этот параметр допустим только для типа http_uri.

server_name_begins_not_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.27.0

Список имён, с которых НЕ должно начинаться имя сервера.

Этот параметр допустим только для типа ssl_extension.

server_name_begins_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.27.0

Список имён, с которых должно начинаться имя сервера.

Этот параметр допустим только для типа ssl_extension.

server_name_contains

list / elements=string

добавлено в f5networks.f5_modules 1.27.0

Список имён, которые должно содержать имя сервера.

Этот параметр допустим только для типа ssl_extension.

server_name_ends_not_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.27.0

Список имён, которыми НЕ должно заканчиваться имя сервера.

Этот параметр допустим только для типа ssl_extension.

server_name_ends_with_any

list / elements=string

добавлено в f5networks.f5_modules 1.27.0

Список имён, которыми должно заканчиваться имя сервера.

Этот параметр допустим только для типа ssl_extension.

server_name_is_any

list / elements=string

Список имён, содержащий имя сервера.

Этот параметр допустим только для типа ssl_extension.

server_name_is_not_any

list / elements=string

добавлено в f5networks.f5_modules 1.27.0

Список имён, НЕ содержащий имя сервера.

Этот параметр допустим только для типа ssl_extension.

type

string / обязательный

Тип условия. Это значение определяет, какие из следующих параметров являются обязательными.

Если type имеет значение http_uri, допустимы следующие варианты: path_begins_with_any, path_contains или path_is_any.

Если type имеет значение http_host, допустимы следующие варианты: host_is_any, host_is_not_any, host_contains host_begins_with_any, host_begins_not_with_any, host_ends_with_any или host_ends_not_with_any

Если type имеет значение http_header, параметр header_name является обязательным, а допустимый вариант: header_is_any.

Если type имеет значение http_method, допустимый вариант: method_matches_with_any.

Если type имеет значение all_traffic, система удаляет из этого правила все существующие условия.

Варианты:

  • "http_uri"
  • "all_traffic"
  • "http_host"
  • "http_header"
  • "http_method"
  • "ssl_extension"
  • "tcp"

description

string

Описание правила политики.

name

string / обязательный

Имя правила.

partition

string

Раздел устройства, в котором следует управлять ресурсами.

По умолчанию: "Common"

policy

string / обязательный

Имя политики, с которой нужно связать это правило.

provider

dictionary

добавлено в f5networks.f5_modules 1.0.0

Объект dict, содержащий сведения о подключении.

auth_provider

string

Настраивает поставщика аутентификации для получения токенов аутентификации с удалённого устройства.

Этот параметр используется преимущественно при работе с устройствами BIG-IQ.

no_f5_teem

boolean

Если yes, телеметрические данные TEEM не отправляются в F5.

Этот параметр можно не указывать, задав переменную среды F5_TELEMETRY_OFF.

Ранее использовавшаяся переменная F5_TEEM устарела, поскольку её название вводило в заблуждение.

Варианты:

  • false ← (по умолчанию)
  • true

password

псевдонимы: pass, pwd

string / обязательный

Пароль учётной записи пользователя, используемой для подключения к BIG-IP или BIG-IQ.

Этот параметр можно не указывать, задав переменную среды F5_PASSWORD.

server

string / обязательный

Узел BIG-IP или BIG-IQ.

Этот параметр можно не указывать, задав переменную среды F5_SERVER.

server_port

integer

Порт сервера BIG-IP.

Этот параметр можно не указывать, задав переменную среды F5_SERVER_PORT.

По умолчанию: 443

timeout

integer

Задаёт время ожидания в секундах при взаимодействии с сетевым устройством — как при подключении, так и при отправке команд. Если время ожидания истечёт до завершения операции, модуль выдаст ошибку.

transport

string

Настраивает транспортное соединение, используемое при подключении к удалённому устройству.

Варианты:

  • "rest" ← (по умолчанию)

user

string / обязательный

Имя пользователя для подключения к BIG-IP или BIG-IQ. У этого пользователя должны быть права администратора на устройстве.

Этот параметр можно не указывать, задав переменную среды F5_USER.

validate_certs

boolean

Если no, SSL-сертификаты не проверяются. Используйте этот параметр только на контролируемых вами сайтах, использующих самоподписанные сертификаты.

Этот параметр можно не указывать, задав переменную среды F5_VALIDATE_CERTS.

Варианты:

  • false
  • true ← (по умолчанию)

replace_with

boolean

Указывает, должны ли заданные пользователем conditions/actions перезаписать имеющиеся на устройстве значения.

Этот параметр полезен, когда требуется удалить часть conditions/actions. Он аналогичен флагу replace-all-with, доступному в командах TMSH.

Использование этого параметра не является идемпотентным.

Варианты:

  • false ← (по умолчанию)
  • true

rule_order

integer

добавлено в f5networks.f5_modules 1.10.0

Задаёт число, определяющее порядок этого правила относительно других правил политики.

Если параметр не задан, устройство устанавливает для него значение 0.

Если у нескольких правил одинаковый номер порядка, устройство использует имена правил для определения их порядка.

Чем меньше число, тем ниже положение правила в общем порядке; правило с наименьшим номером 0 находится выше всех остальных.

Допустимый диапазон значений — от 0 до 4294967295 включительно.

state

string

При значении present ключ загружается на устройство. При значении absent ключ удаляется с устройства. Если ключ используется, модуль не сможет его удалить.

Варианты:

  • "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 conditions 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

complex

Новый список действий, применённых к правилу.

Возвращается: changed

Пример: "hash/dictionary of values"

pool

string

Пул для перенаправления.

Возвращается: changed

Пример: "foo-pool"

type

string

Тип действия.

Возвращается: changed

Пример: "forward"

conditions

complex

Новый список условий, применённых к правилу.

Возвращается: changed

Пример: "hash/dictionary of values"

path_begins_with_any

list / elements=string

Список строк, с которых начинается URI.

Возвращается: changed

Пример: ["foo", "bar"]

type

string

Тип условия.

Возвращается: changed

Пример: "http_uri"

description

string

Новое описание правила.

Возвращается: changed

Пример: "My rule"

rule_order

integer

Задаёт число, указывающее порядок этого правила относительно других правил в политике.

Возвращается: changed

Пример: 10

Авторы

  • Tim Rupp (@caphrim007)
  • Wojciech Wypior (@wojtek0806)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/f5networks/f5_modules/bigip_policy_rule_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API