community.routeros.api_find_and_modify модуль — Поиск и изменение информации с помощью API
Примечание
Этот модуль входит в коллекцию community.routeros (версия 2.19.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.routeros. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.
Для использования в книге задач укажите: community.routeros.api_find_and_modify.
Новый в community.routeros 2.1.0
Описание
- Позволяет находить записи для пути по условиям и изменять значения этих записей.
- Используйте модуль community.routeros.api_find_and_modify, чтобы установить все записи пути в определённые значения или изменить несколько записей различными способами в одном шаге.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- librouteros
- Python >= 3.6 (для librouteros)
Параметры
Параметр | Комментарии |
|---|---|
allow_no_matches boolean | Разрешить отсутствие совпадений. Если не указано, это значение определяется тем, Варианты:
|
ca_path path добавлено в community.routeros 1.2.0 | Файл в формате PEM, содержащий сертификат CA, используемый для проверки сертификатов. См. также |
encoding string добавлено в community.routeros 2.1.0 | Использовать указанное кодирование при общении с устройством RouterOS. По умолчанию По умолчанию: |
find dictionary / обязательно | Поля для поиска. Модуль будет учитывать только записи в указанном Используйте YAML Обратите внимание, что если указанный здесь словарь пуст, будут соответствовать все записи в пути. |
force_no_cert boolean добавлено в community.routeros 2.4.0 | Установить значение См. также Примечание: это принудительно использует анонимные шифры Diffie-Hellman (ADH). Протокол уязвим для атак «человек посередине», так как ключи, используемые в обмене, не аутентифицированы. Вместо простого подключения без сертификата для «работы» ознакомьтесь с Варианты:
|
hostname string / обязательно | Имя хоста RouterOS API. |
password string / обязательно | Пароль пользователя RouterOS. |
path string / обязательно | Путь для запроса. Пример значения |
port integer | Порт RouterOS API. Если Значения по умолчанию |
require_matches_max integer | Убедиться, что совпадений не более этого числа. Если совпадений больше, произойдет отказ, ничего не будет изменено. Если не указано, верхнего предела нет. |
require_matches_min integer | Убедиться, что совпадений не меньше этого числа. Если совпадений меньше, произойдет отказ, ничего не будет изменено. По умолчанию: |
timeout integer добавлено в community.routeros 2.3.0 | Таймаут запроса. По умолчанию: |
tls псевдонимы: ssl boolean | Если задано, для подключения к RouterOS API будет использован TLS. Варианты:
|
username string / обязательно | Логин пользователя RouterOS. |
validate_cert_hostname boolean добавлено в community.routeros 1.2.0 | Установить значение См. также Варианты:
|
validate_certs boolean добавлено в community.routeros 1.2.0 | Установить значение См. также Примечание: вместо простого отключения проверки сертификатов для «работы», рассмотрите возможность создания собственного сертификата CA и использования его для подписания сертификатов, используемых для вашего маршрутизатора. Вы можете сообщить модулю о вашем сертификате CA с помощью параметра Варианты:
|
values словарь / обязательный | Во всех записях, соответствующих условиям в Используйте YAML |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группа действий: community.routeros.api | Используйте |
check_mode | Поддержка: полная | Может работать в |
diff_mode | Поддержка: полная | При работе в режиме diff, вернёт детали о том, что изменилось (или, возможно, нуждается в изменении в |
platform | Платформа: RouterOS | Целевые операционные системы/семейства, с которыми можно взаимодействовать. |
Примечания
Примечание
- Если вы хотите изменить значения на основе их старых значений (например, изменить все комментарии 'foo' на 'bar') и убедиться, что таких значений не менее N, вы можете использовать
require_matches_min=Nвместе сallow_no_matches=true. Это заставит модуль завершиться неудачно, если таких записей меньше N, но не если совпадений нет. Последний случай необходим для идемпотентности задачи: после изменения значений не должно быть никаких совпадений.
См. также
См. также
- community.routeros.api
-
Модуль Ansible для API RouterOS.
- community.routeros.api_facts
-
Сбор фактов с удалённых устройств, работающих на MikroTik RouterOS, с помощью API.
- community.routeros.api_modify
-
Изменение данных по путям с помощью API.
- community.routeros.api_info
-
Получение информации от API.
- Как подключиться к устройствам RouterOS с помощью API RouterOS
-
Как подключиться к устройствам RouterOS с помощью API RouterOS
Примеры
---
- name: Rename bridge from 'bridge' to 'my-bridge'
community.routeros.api_find_and_modify:
hostname: "{{ hostname }}"
password: "{{ password }}"
username: "{{ username }}"
path: interface bridge
find:
name: bridge
values:
name: my-bridge
- name: Change IP address to 192.168.1.1 for interface bridge - assuming there is only one
community.routeros.api_find_and_modify:
hostname: "{{ hostname }}"
password: "{{ password }}"
username: "{{ username }}"
path: ip address
find:
interface: bridge
values:
address: "192.168.1.1/24"
# If there are zero entries, or more than one: fail! We expected that
# exactly one is configured.
require_matches_min: 1
require_matches_max: 1
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
match_count целое число | |
modify__count целое число | Количество изменённых записей. Возвращается: успех Пример: |
new_data список / элементы=словарь | Список всех элементов для текущего пути после внесения изменений. Возвращается: успех Пример: |
old_data список / элементы=словарь | Список всех элементов для текущего пути до внесения изменений. Возвращается: успех Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/routeros/api_find_and_modify_module.html