nxos_config – Управление секциями конфигурации Cisco NXOS
Новая версия 2.1.
Описание
- Конфигурации Cisco NXOS используют простой синтаксис блочного отступа для сегментации конфигурации на секции. Этот модуль предоставляет реализацию для работы с секциями конфигурации NXOS детерминированным способом. Этот модуль работает с транспортными средствами CLI или NXAPI.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after - | Упорядоченный набор команд, которые должны быть добавлены в конец стека команд, если необходимо внести изменения. Как и в случае с before, это позволяет разработчику playbook добавить набор команд, которые будут выполнены после набора команд. | ||
| backup boolean добавлено в 2.2 |
| Этот аргумент заставит модуль создать полную резервную копию текущего running-config с удаленного устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневом каталоге playbook или корневом каталоге роли, если playbook является частью роли ansible. Если каталог не существует, он создается. | |
| before - | Упорядоченный набор команд, которые должны быть добавлены в стек команд, если необходимо внести изменения. Это позволяет разработчику playbook выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на то, как набор команд сопоставляется с системой. | ||
| defaults boolean добавлено в 2.2 |
| Аргумент defaults повлияет на то, как собирается running-config с устройства. Когда значение установлено в true, команда для сбора running-config дополняется ключевым словом all. Когда значение установлено в false, команда выполняется без ключевого слова all. | |
| diff_against - добавлено в 2.4 |
| При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать разницы по отношению к различным источникам.Когда этот параметр настроен как startup, модуль вернет разницу между running-config и startup-config. Когда этот параметр настроен как intended, модуль вернет разницу между running-config и конфигурацией, предоставленной в аргументе intended_config.Когда этот параметр настроен как running, модуль вернет разницу до и после running-config по отношению к любым изменениям, внесенным в конфигурацию устройства. | |
| diff_ignore_lines - добавлено в 2.4 | Используйте этот аргумент, чтобы указать одну или несколько строк, которые следует игнорировать во время сравнения. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||
| force boolean |
| Аргумент force указывает модулю не учитывать текущую конфигурацию устройства running-config. При установке в значение true это заставит модуль скопировать содержимое src на устройство без предварительной проверки, если оно уже настроено. Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата установите match=none, который является идемпотентным. Этот аргумент будет удален в будущей версии. | |
| intended_config - добавлено в 2.4 | intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки конечной конфигурации running-config. Этот аргумент не будет изменять какие-либо настройки на удаленном устройстве и используется только для проверки соответствия конфигурации текущего устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в intended. | ||
| lines - | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в конфигурации running-config устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства. псевдонимы: команды | ||
| match - |
| Указывает модулю способ выполнения сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в line, команды сопоставляются построчно. Если match установлен в strict, строки команд сопоставляются относительно позиции. Если match установлен в exact, строки команд должны быть точным совпадением. Наконец, если match установлен в none, модуль не будет пытаться сравнить исходную конфигурацию с конфигурацией running на удаленном устройстве. | |
| parents - | Упорядоченный набор родительских элементов, которые однозначно определяют раздел или иерархию, по которым должны проверяться команды. Если аргумент parents опущен, команды проверяются по отношению к набору команд верхнего уровня или глобальным командам. | ||
| provider - | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.Этот параметр требуется только если вы используете NX-API. Для получения дополнительной информации см. руководство NXOS Platform Options. Объект словаря, содержащий данные подключения. | ||
| auth_pass - добавлено в 2.5.3 | Значение по умолчанию: "none" | Указывает пароль, который необходимо использовать для входа в привилегированный режим на удаленном устройстве. Если authorize равно false, этот аргумент ничего не делает. Если значение не указано в задаче, вместо него будет использовано значение переменной среды ANSIBLE_NET_AUTH_PASS. | |
| authorize boolean добавлено в 2.5.3 |
| Указывает модулю войти в привилегированный режим на удаленном устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, вместо него будет использовано значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| host - / обязательно | Указывает имя хоста DNS или адрес для подключения к удаленному устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password - | Указывает пароль для проверки подлинности подключения к удаленному устройству. Это распространенный аргумент, используемый для транспортов cli или nxapi. Если значение не указано в задаче, вместо него будет использовано значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port - | Значение по умолчанию: "0 (использовать общий порт)" | Указывает порт, который следует использовать при построении подключения к удаленному устройству. Это значение относится к cli или nxapi. Значение порта по умолчанию соответствует общему порту соответствующего транспорта, если он не предоставлен в задаче. (cli=22, http=80, https=443). | |
| ssh_keyfile - | Указывает SSH-ключ для проверки подлинности подключения к удаленному устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задаче, вместо него будет использовано значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout - добавлено в 2.3 | Значение по умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут превышен до завершения операции, модуль выдаст ошибку. NX-API может медленно возвращать значения при выполнении длительных команд (sh mac, sh bgp и т. д.). | |
| transport - / обязательно | Значение по умолчанию: "cli" | Настраивает транспортное подключение для использования при подключении к удаленному устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или nxapi. | |
| use_proxy boolean added in 2.5 |
| Если no, переменные окружения http_proxy и https_proxy будут игнорироваться. | |
| use_ssl boolean |
| Настраивает транспорт для использования SSL, если значение установлено в true только в том случае, если transport=nxapi, в противном случае это значение игнорируется. | |
| username - | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, вместо него будет использовано значение переменной среды ANSIBLE_NET_USERNAME. | ||
| validate_certs boolean |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, с использованием самозаверенных сертификатов. Если аргумент transport не равен nxapi, это значение игнорируется. | |
| replace - |
| Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в line, то изменённые строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в block, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. replace config поддерживается только на устройствах Nexus 9K. | |
| replace_src - added in 2.5 | Аргумент replace_src предоставляет путь к файлу конфигурации для загрузки в удалённую систему. Этот аргумент используется для замены всей конфигурации плоским файлом. Он используется с аргументом replace со значением config. Он взаимоисключает с аргументами lines и src. Этот аргумент поддерживается на устройствах Nexus 9K. Используйте модуль nxos_file_copy для копирования плоского файла на удалённое устройство, а затем используйте путь с этим аргументом. | ||
| running_config - added in 2.4 | Модуль по умолчанию подключается к удалённому устройству и извлекает текущую running-конфигурацию, чтобы использовать её в качестве базы для сравнения с содержимым источника. Бывают случаи, когда нежелательно, чтобы задача получала текущую running-конфигурацию для каждой задачи в книге задач. Аргумент running_config позволяет реализатору передать конфигурацию, используемую в качестве базовой конфигурации для сравнения. aliases: config | ||
| save boolean added in 2.2 |
| Аргумент save инструктирует модуль сохранить текущую running-конфигурацию в startup-конфигурацию. Эта операция выполняется после внесения любых изменений в текущую running-конфигурацию. Если изменений не было, конфигурация всё равно сохраняется в startup-конфигурацию. Этот параметр всегда заставит модуль вернуть изменённое состояние.Этот параметр устарел начиная с Ansible 2.4, используйте save_when.
| |
| save_when - added in 2.4 |
| Когда в конфигурации устройства running-configuration вносятся изменения, эти изменения по умолчанию не копируются в постоянное хранилище. Использование этого аргумента изменит это поведение. Если аргумент установлен в always, то running-конфигурация всегда будет скопирована в startup-конфигурацию, а флаг modified всегда будет установлен в True. Если аргумент установлен в modified, то running-конфигурация будет скопирована в startup-конфигурацию только в том случае, если она изменилась с момента последнего сохранения в startup-конфигурацию. Если аргумент установлен в never, running-конфигурация никогда не будет скопирована в startup-конфигурацию. Если аргумент установлен в changed, то running-конфигурация будет скопирована в startup-конфигурацию только в том случае, если задача внесла изменения. changed был добавлен в Ansible 2.6. | |
| src - added in 2.2 | Аргумент src указывает путь к файлу конфигурации, который необходимо загрузить в удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или книги задач. Этот аргумент взаимоисключает с аргументами lines и parents. | ||
Примечания
Примечание
- Сокращённые команды НЕ идемпотентны, см. FAQ по сетям.
- Дополнительную информацию об использовании CLI и NX-API см. в руководстве NXOS Platform Options
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Руководство по сетям Ansible
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.
Примеры
---
- name: configure top level configuration and save it
nxos_config:
lines: hostname {{ inventory_hostname }}
save_when: modified
- name: diff the running-config against a provided config
nxos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- nxos_config:
lines:
- 10 permit ip 192.0.2.1/32 any log
- 20 permit ip 192.0.2.2/32 any log
- 30 permit ip 192.0.2.3/32 any log
- 40 permit ip 192.0.2.4/32 any log
- 50 permit ip 192.0.2.5/32 any log
parents: ip access-list test
before: no ip access-list test
match: exact
- nxos_config:
lines:
- 10 permit ip 192.0.2.1/32 any log
- 20 permit ip 192.0.2.2/32 any log
- 30 permit ip 192.0.2.3/32 any log
- 40 permit ip 192.0.2.4/32 any log
parents: ip access-list test
before: no ip access-list test
replace: block
- name: replace config with flat file
nxos_config:
replace_src: config.txt
replace: config
- name: for idempotency, use full-form commands
nxos_config:
lines:
# - shut
- shutdown
# parents: int eth1/1
parents: interface Ethernet1/1
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup=yes | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/nxos_config.2016-07-16@22:28:34 |
| commands список | всегда | Набор команд, которые будут отправлены на удалённое устройство Пример: ['hostname foo', 'vlan 1', 'name default'] |
| updates список | всегда | Набор команд, которые будут отправлены на удалённое устройство Пример: ['hostname foo', 'vlan 1', 'name default'] |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [preview]
- Этот модуль поддерживается командой Ansible Network Team. [network]
Поддержка Red Hat
Дополнительная информация о поддержке Red Hat этого модуля доступна в статье базы знаний Red Hat Red Hat Knowledge Base article.
Авторы
- 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.7/modules/nxos_config_module.html