junos_config — Управление конфигурацией на устройствах Juniper JUNOS
Новая версия с 2.1.
Описание
- Этот модуль предоставляет реализацию работы с активной конфигурацией на устройствах Juniper JUNOS. Он предоставляет набор аргументов для загрузки конфигурации, выполнения операций отката и сброса активной конфигурации на устройстве.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| backup (добавлено в 2.2) |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневой директории плейбука или корневой директории роли, если плейбук входит в состав роли ansible. Если директория не существует, она создается. | |
| comment | Значение по умолчанию: настраивается junos_config | Аргумент comment задает строку текста, используемую при фиксации конфигурации. Если аргумент confirm установлен в False, этот аргумент игнорируется. | |
| confirm | Значение по умолчанию: 0 | Аргумент confirm задает значение таймаута в минутах для подтверждения фиксации перед автоматическим откатом. Если аргумент confirm установлен в False, этот аргумент игнорируется. Если значение этого аргумента установлено в 0, фиксация подтверждается немедленно. | |
| confirm_commit (добавлено в 2.4) |
| Этот аргумент выполнит операцию фиксации на удалённом устройстве. Он может использоваться для подтверждения предыдущей фиксации. | |
| lines | Значение по умолчанию: None | Этот аргумент принимает список строк конфигурации set или delete для отправки на удалённое устройство. Каждая строка должна начинаться с set или delete. Этот аргумент несовместим с аргументом src. | |
| 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). | |
| replace |
| Аргумент replace указывает удалённому устройству заменить текущую иерархию конфигурации на указанную в соответствующей иерархии исходной конфигурации, загруженной из этого модуля.Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата установите аргумент update в replace. Этот аргумент будет удалён в будущей версии. Аргументы replace и update взаимоисключающие. | |
| rollback | Значение по умолчанию: None | Аргумент rollback указывает модулю выполнить откат текущей конфигурации до идентификатора, указанного в аргументе. Если указанный идентификатор отката не существует на удалённом устройстве, модуль завершится с ошибкой. Для отката до последней фиксации установите аргумент rollback в 0. | |
| src (добавлено в 2.2) | Значение по умолчанию: None | Аргумент src предоставляет путь к файлу конфигурации для загрузки на удалённую систему. Путь может быть полным системным путём к файлу конфигурации (если значение начинается с /) или относительным к корню реализованной роли или плейбука. Этот аргумент несовместим с аргументом lines. | |
| src_format (добавлено в 2.2) |
None | Аргумент src_format задаёт формат конфигурации, найденной в src. Если аргумент src_format не указан, модуль попытается определить формат файла конфигурации, указанного в src. | |
| update (добавлено в 2.3) |
| Этот аргумент определяет, как загружать данные конфигурации, особенно когда конфигурация-кандидат и загруженная конфигурация содержат противоречивые утверждения. Доступные значения: merge объединяет данные загруженной конфигурации с конфигурацией-кандидатом. Если утверждения загруженной конфигурации противоречат утверждениям конфигурации-кандидата, утверждения загруженной конфигурации заменяют утверждения кандидата. override отбрасывает всю конфигурацию-кандидат и заменяет её загруженной конфигурацией. replace подставляет каждый уровень иерархии в загруженной конфигурации для соответствующего уровня. | |
| zeroize | Значение по умолчанию: None | Аргумент zeroize используется для полного очищения конфигурации удалённого устройства до начальных значений по умолчанию. Этот аргумент фактически удаляет все текущие утверждения конфигурации на удалённом устройстве. | |
Примечания
Примечание
- Для работы с этим модулем на удалённом управляемом устройстве должна быть включена система служб netconf.
- Сокращённые команды НЕ идемпотентны, см. Вопросы и ответы по сети.
- Загрузка конфигурации в формате JSON (json) поддерживается начиная с версии Junos OS 16.1.
- Тестировалось с vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
- Рекомендуемое подключение —
netconf. См. руководство Junos OS Platform Options. - Этот модуль также работает с подключениеми
localдля устаревших плейбуков. - Дополнительная информация по использованию CLI и netconf находится в руководстве Junos OS Platform Options.
- Дополнительная информация по использованию 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 = да | Полный путь к резервной копии файла Пример: /playbooks/ansible/backup/config.2016-07-16@22:28:34 |
Статус
Этот модуль помечен как предварительный просмотр, что означает, что гарантии обратной совместимости нет.
Поддержка
Для получения дополнительной информации о поддержке этого модуля 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_config_module.html