junos_rpc – Выполняет произвольный RPC через NetConf на устройстве Juniper JUNOS
Новая версия 2.3.
Обзор
- Отправляет запрос на удалённое устройство с JUNOS для выполнения указанного RPC с помощью транспорта NetConf. Ответ затем возвращается в playbook в ключе
xml. Если запрошен другой формат вывода, ответ преобразуется в запрошенный формат.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| args - | Аргумент args предоставляет набор аргументов для вызова RPC и кодируется в сообщении запроса. Этот аргумент принимает набор аргументов вида ключ=значение. | ||
| attrs - добавлен в 2.5 | Аргументы attrs определяют список атрибутов и их значений для установки для вызова RPC. Принимает словарь ключ-значение. | ||
| output - | По умолчанию: "xml" | Аргумент output задает желаемый формат вывода возвращаемых данных. Этот аргумент принимает одно из значений xml, text, или json. Для json, устройство JUNOS должно работать с версией ПО, поддерживающей вывод в формате JSON. | |
| provider словарь | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf. Дополнительную информацию см. в руководстве Junos OS Platform Options. Объект dict, содержащий сведения о подключении. | ||
| host строка / обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port целое число | По умолчанию: 22 | Указывает порт для подключения к удалённому устройству. Значение порта по умолчанию – стандартный SSH порт 22 (для transport=cli) или порт 830 (для transport=netconf) устройства. | |
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение – путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | По умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истекает до завершения операции, модуль вернёт ошибку. | |
| username строка | Устанавливает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| rpc - / обязательно | Аргумент rpc задаёт вызов RPC, который нужно отправить на удалённые устройства для выполнения. Сообщение с ответом RPC анализируется, и его содержимое возвращается в playbook. | ||
Примечания
Примечание
- Для работы этого модуля требуется, чтобы на управляемом удалённом устройстве был включён сетевой сервис netconf.
- Проверено на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
- Рекомендуется соединение
netconf. Смотрите руководство Junos OS Platform Options. - Этот модуль также работает с подключениями
localдля устаревших playbooks. - Дополнительную информацию по работе с CLI и netconf см. в руководстве Junos OS Platform Options guide
- Дополнительную информацию о применении Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
- Дополнительную информацию о применении Ansible для управления сетевыми устройствами Juniper см. в https://www.ansible.com/ansible-juniper.
Примеры
- name: collect interface information using rpc
junos_rpc:
rpc: get-interface-information
args:
interface-name: em0
media: True
- name: get system information
junos_rpc:
rpc: get-system-information
- name: load configuration
junos_rpc:
rpc: load-configuration
attrs:
action: override
url: /tmp/config.conf
Значения возврата
Общие значения возврата описаны в разделе, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| output строка | всегда | Ответ rpc, преобразованный в указанный формат вывода. |
| output_lines список | всегда | Текст ответа, разделенный на строки для лучшей читабельности. |
| xml строка | всегда | Строка xml ответа на запрос rpc. |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается командой Ansible Network. [сетевой]
Поддержка Red Hat
Дополнительную информацию о поддержке данного модуля Red Hat см. в статье базы знаний Red Hat.
Авторы
- Peter Sprygada (@privateip)
Подсказка
Если вы обнаружили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/junos_rpc_module.html