nxos_config - Управление разделами конфигурации Cisco NXOS
Новая версия 2.1.
Обзор
- Конфигурации Cisco NXOS используют простой синтаксис с отступами для разделения конфигурации на разделы. Этот модуль обеспечивает реализацию работы с разделами конфигурации NXOS детерминированным способом. Этот модуль работает как с транспортными средствами CLI, так и с NXAPI.
Параметры
| параметр | обязательно | значение по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| after | нет | Упорядоченный набор команд для добавления в конец стека команд, если требуется внести изменения. Так же, как и с параметром before, это позволяет разработчику плейбука добавить набор команд для выполнения после набора команд. | ||
| auth_pass (добавлен в 2.4.4)
| нет | none | Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это необходимо. Если authorize имеет значение false, то этот аргумент не имеет эффекта. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTH_PASS. | |
| authorize (добавлен в 2.4.4)
| нет |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTHORIZE. | |
| backup (добавлен в 2.2)
| нет |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удалённого устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневом каталоге плейбука. Если папка не существует, она создаётся. | |
| before | нет | Упорядоченный набор команд для добавления в стек команд, если требуется внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением любых изменений, не затрагивая способ сопоставления набора команд с системой. | ||
| defaults (добавлен в 2.2)
| нет |
| Аргумент defaults повлияет на то, как собирается текущая конфигурация устройства. Когда значение установлено в true, команда для сбора текущей конфигурации дополняется ключевым словом all. Когда значение установлено в false, команда выполняется без ключевого слова all. | |
| diff_against (добавлен в 2.4)
| нет | startup |
| При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать diff относительно разных источников.Когда этот параметр настроен как startup, модуль вернёт diff текущей конфигурации относительно конфигурации по умолчанию. Когда этот параметр настроен как intended, модуль вернёт diff текущей конфигурации относительно конфигурации, предоставленной в аргументе intended_config.Когда этот параметр настроен как running, модуль вернёт diff текущей конфигурации до и после изменений, внесённых в конфигурацию устройства. |
| diff_ignore_lines (добавлен в 2.4)
| нет | Используйте этот аргумент, чтобы указать одну или несколько строк, которые следует игнорировать при формировании diff. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||
| force | нет |
| Аргумент force инструктирует модуль не учитывать текущую конфигурацию устройства. При установке в true, это заставит модуль внести содержимое src в устройство без предварительной проверки, настроено ли это значение уже. Обратите внимание, что этот аргумент следует считать устаревшим. Чтобы достичь эквивалентного результата, установите match=none, который идемпотентен. Этот аргумент будет удален в будущих версиях. | |
| host | да | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| intended_config (добавлен в 2.4)
| нет | intended_config предоставляет основную конфигурацию, к которой должен соответствовать узел, и используется для проверки окончательной текущей конфигурации. Этот аргумент не будет изменять какие-либо настройки на удалённом устройстве и используется только для проверки соответствия текущей конфигурации устройства. При указании этого аргумента, задача также должна изменить значение diff_against и установить его в intended. | ||
| lines | нет | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в текущей конфигурации устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически модифицируются анализатором конфигурации устройства. | ||
| match | нет | line |
| Инструктирует модуль о способе сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в line, команды сопоставляются по строкам. Если match установлен в strict, строки команд сопоставляются с учётом позиции. Если match установлен в exact, строки команд должны быть точным совпадением. Наконец, если match установлен в none, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удалённом устройстве. |
| parents | нет | Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел, с которым должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||
| password | нет | Указывает пароль для аутентификации подключения к удалённому устройству. Это общий аргумент, используемый для транспортов cli или nxapi. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port | нет | 0 (использовать стандартный порт) | Указывает порт для подключения к удалённому устройству. Это значение относится к транспорту cli или nxapi. Значение порта по умолчанию соответствует стандартному порту для транспорта, если в задаче не указано иное. (cli=22, http=80, https=443). | |
| provider | нет | Удобный метод, позволяющий передать все аргументы nxos как объект словаря. Все ограничения (обязательность, варианты и т. д.) должны быть выполнены либо отдельными аргументами, либо значениями в этом словаре. | ||
| replace | нет | lineo |
| Инструктирует модуль о способе выполнения конфигурации на устройстве. Если аргумент replace установлен в line, изменённые строки отправляются устройству в режиме конфигурации. Если аргумент replace установлен в block, весь блок команд отправляется устройству в режиме конфигурации, если какая-либо строка неверна. |
| running_config (добавлен в 2.4)
| нет | Модуль по умолчанию подключается к удалённому устройству и получает текущую конфигурацию, чтобы использовать её в качестве основы для сравнения с содержимым исходника. Иногда нежелательно, чтобы задача получала текущую конфигурацию для каждой задачи в плейбуке. Аргумент running_config позволяет разработчику передать конфигурацию, используемую в качестве базовой конфигурации для сравнения. алиасы: config | ||
| save (добавлен в 2.2)
| нет |
| Аргумент save инструктирует модуль сохранить текущую конфигурацию в конфигурацию по умолчанию. Эта операция выполняется после внесения любых изменений в текущую конфигурацию. Если изменений нет, конфигурация всё равно сохраняется в конфигурацию по умолчанию. Этот параметр всегда заставит модуль вернуть информацию об изменении.Этот параметр устарел начиная с Ansible 2.4, используйте save_when
| |
| save_when (добавлен в 2.4)
| нет | never |
| При внесении изменений в текущую конфигурацию устройства, изменения по умолчанию не копируются в постоянную память. Использование этого аргумента изменит это. Если аргумент установлен в always, то текущая конфигурация всегда будет скопирована в конфигурацию по умолчанию, а флаг modified всегда будет установлен в True. Если аргумент установлен в modified, то текущая конфигурация будет скопирована в конфигурацию по умолчанию только в случае её изменения с момента последнего сохранения в конфигурацию по умолчанию. Если аргумент установлен в never, текущая конфигурация никогда не будет скопирована в конфигурацию по умолчанию |
| src (добавлен в 2.2)
| нет | Аргумент src предоставляет путь к файлу конфигурации, который необходимо загрузить в удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или плейбука. Этот аргумент взаимоисключающий с аргументами lines и parents. | ||
| 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_ssl | нет |
| Настраивает транспорт для использования SSL, если значение установлено в true только при transport=nxapi, в противном случае это значение игнорируется. | |
| username | нет | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| validate_certs | нет |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах под собственным контролем, использующих самозаверенные сертификаты. Если аргумент транспорта не nxapi, это значение игнорируется. |
Примеры
---
- 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 1.1.1.1/32 any log
- 20 permit ip 2.2.2.2/32 any log
- 30 permit ip 3.3.3.3/32 any log
- 40 permit ip 4.4.4.4/32 any log
- 50 permit ip 5.5.5.5/32 any log
parents: ip access-list test
before: no ip access-list test
match: exact
- nxos_config:
lines:
- 10 permit ip 1.1.1.1/32 any log
- 20 permit ip 2.2.2.2/32 any log
- 30 permit ip 3.3.3.3/32 any log
- 40 permit ip 4.4.4.4/32 any log
parents: ip access-list test
before: no ip access-list test
replace: block
Значения возврата
Общие значения возврата документированы здесь Значения возврата, следующие являются полями, уникальными для данного модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| backup_path | Полный путь к файлу резервной копии | при backup = да | строка | /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'] |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.
Информация о техническом обслуживании
Для получения дополнительной информации о поддержке этого модуля компанией Red Hat, пожалуйста, обратитесь к этому knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если вы так решите, пожалуйста, ознакомьтесь с Информацией сообщества и участием в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/nxos_config_module.html