junos_config — Управление конфигурацией на устройствах с Juniper JUNOS
Новая версия с 2.1.
Обзор
- Этот модуль предоставляет реализацию работы с активной конфигурацией, работающей на устройствах Juniper JUNOS. Он предоставляет набор аргументов для загрузки конфигурации, выполнения операций отката и сброса активной конфигурации на устройстве.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| backup bool (добавлен в 2.2) |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удалённого устройства перед внесением каких-либо изменений. Файл резервной копии запишется в папку backup в корневом каталоге playbook или корневом каталоге роли, если playbook является частью роли Ansible. Если папки не существует, она создастся. | |
| comment | Значение по умолчанию: "настроено с помощью junos_config" | Аргумент comment задаёт строку текста, используемую при фиксации конфигурации. Если аргумент confirm установлен в False, этот аргумент будет проигнорирован. | |
| confirm | Значение по умолчанию: 0 | Аргумент confirm настраивает значение таймаута в минутах для подтверждения фиксации перед автоматическим откатом. Если аргумент confirm установлен в False, этот аргумент будет проигнорирован. Если значение этого аргумента установлено в 0, фиксация подтверждается немедленно. | |
| confirm_commit bool (добавлен в 2.4) |
| Этот аргумент выполнит операцию фиксации на удалённом устройстве. Он может использоваться для подтверждения предыдущей фиксации. | |
| lines | Этот аргумент принимает список строк конфигурации set или delete для отправки на удалённое устройство. Каждая строка должна начинаться с set или delete. Этот аргумент несовместим с аргументом src. | ||
| provider | Устаревшее Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf.Дополнительную информацию можно найти в руководстве по платформам Junos OS: Руководство по платформам Junos OS. Объект типа dict, содержащий данные подключения. | ||
| host обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| port | Значение по умолчанию: 22 | Указывает порт для подключения к удалённому устройству. Значение порта по умолчанию — 22 (для transport=cli) или 830 (для устройств transport=netconf). | |
| username | Устанавливает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| password | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| timeout | Значение по умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку. | |
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это путь к ключу, используемому для аутентификации SSH-сессии. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| replace bool |
| Аргумент replace указывает удалённому устройству заменить текущую иерархию конфигурации конфигурацией, указанной в соответствующей иерархии загруженной конфигурации из данного модуля.Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата установите аргумент update в replace. Этот аргумент будет удалён в будущей версии. Аргументы replace и update несовместимы. | |
| rollback | Аргумент rollback указывает модулю откатить текущую конфигурацию к идентификатору, указанному в аргументе. Если указанный идентификатор отката не существует на удалённом устройстве, модуль завершит работу с ошибкой. Чтобы откатить до последней фиксации, установите аргумент rollback в 0. | ||
| src (добавлен в 2.2) | Аргумент src указывает путь к файлу конфигурации для загрузки на удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованной роли или playbook. Этот аргумент несовместим с аргументом lines. | ||
| src_format (добавлен в 2.2) |
| Аргумент src_format указывает формат конфигурации, найденной в src. Если аргумент src_format не указан, модуль попытается определить формат файла конфигурации, указанного в src. | |
| update (добавлен в 2.3) |
| Этот аргумент определяет, как загрузить данные конфигурации, особенно когда кандидатская конфигурация и загруженная конфигурация содержат противоречивые утверждения. Доступные значения: merge объединяет данные в загруженной конфигурации с кандидатской конфигурацией. Если утверждения в загруженной конфигурации противоречат утверждениям в кандидатской конфигурации, утверждения загруженной конфигурации заменяют кандидатские. override отбрасывает всю кандидатскую конфигурацию и заменяет её загруженной конфигурацией. replace заменяет каждый уровень иерархии в загруженной конфигурации соответствующим уровнем. | |
| zeroize | Аргумент zeroize используется для полного удаления конфигурации удалённого устройства и возврата к исходным значениям по умолчанию. Этот аргумент фактически удалит все текущие утверждения конфигурации на удалённом устройстве. | ||
Примечания
Примечание
- Для работы с этим модулем необходимо включить системную службу netconf на удалённом управляемом устройстве.
- Сокращённые команды НЕ идемпотентны, см. Вопросы и ответы по сети.
- Загрузка конфигурации в формате JSON (json) поддерживается начиная с Junos OS Release 16.1.
- Тестировалось с vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
- Рекомендуемое подключение —
netconf. См. Руководство по платформам Junos OS. - Этот модуль также работает с подключениями
localдля устаревших playbook. - Дополнительную информацию о работе с CLI и netconf см. в Руководстве по платформам Junos OS
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сети Ansible
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами Juniper см. на https://www.ansible.com/ansible-juniper.
Примеры
- name: load configure file into device
junos_config:
src: srx.cfg
comment: update config
- name: load configure lines into device
junos_config:
lines:
- set interfaces ge-0/0/1 unit 0 description "Test interface"
- set vlans vlan01 description "Test vlan"
comment: update config
- name: rollback the configuration to id 10
junos_config:
rollback: 10
- name: zero out the current configuration
junos_config:
zeroize: yes
- name: confirm a previous commit
junos_config:
confirm_commit: yes
- name: for idempotency, use full-form commands
junos_config:
lines:
# - set int ge-0/0/1 unit 0 desc "Test interface"
- set interfaces ge-0/0/1 unit 0 description "Test interface"
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup yes | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/config.2016-07-16@22:28:34 |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратной совместимости.
Техническое обслуживание
Этот модуль помечен как сетевой, что означает, что его обслуживает команда Ansible по сетям. Более подробная информация в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых командой Ansible по сетям, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/junos_config_module.html