junos_rpc - Выполняет произвольный RPC через NetConf на устройстве Juniper JUNOS
Новая версия 2.3.
Описание
- Отправляет запрос на удаленное устройство, работающее под управлением JUNOS, для выполнения указанного RPC с использованием транспорта NetConf. Ответ затем возвращается в playbook в ключе
xml. Если запрошен альтернативный формат вывода, ответ преобразуется в запрошенный формат.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| args | Значение по умолчанию: None | Аргумент args предоставляет набор аргументов для вызова RPC и кодируется в сообщении запроса. Этот аргумент принимает набор аргументов в формате ключ=значение. | |
| attrs (добавлено в 2.5) | Аргументы attrs определяют список атрибутов и их значений, которые нужно установить для вызова RPC. Принимает словарь ключ-значение. | ||
| output | Значение по умолчанию: xml | Аргумент output задает желаемый формат вывода возвращаемых данных. Этот аргумент принимает одно из значений xml, text, или json. Для json, устройство JUNOS должно использовать версию программного обеспечения, поддерживающую вывод в формате JSON. | |
| provider | Значение по умолчанию: None | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf. Для получения дополнительной информации см. руководство Junos OS Platform Options. Объект словаря, содержащий данные подключения. | |
| username | Настройка имени пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| host обязательно | Указывает имя хоста DNS или адрес для подключения к удаленному устройству через указанный транспорт. Значение host используется в качестве целевого адреса для транспорта. | ||
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout | Значение по умолчанию: 10 | Указывает время ожидания в секундах для связи с сетевым устройством при подключении или отправке команд. Если время ожидания истечет до завершения операции, модуль выдаст ошибку. | |
| password | Значение по умолчанию: None | Указывает пароль для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_PASSWORD. | |
| port | Значение по умолчанию: 22 | Указывает порт для подключения к удаленному устройству. Значение порта по умолчанию — 22 (для transport=cli) или 830 (для transport=netconf) устройства. | |
| 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
- Для получения информации об использовании 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. |
Статус
Этот модуль помечен как preview, что означает, что он не гарантирует обратную совместимость интерфейса.
Поддержка
Для получения дополнительной информации о поддержке этого модуля компанией 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.5/modules/junos_rpc_module.html