nxos_config - Управление разделами конфигурации Cisco NXOS
Новая версия с 2.1.
Описание
- Конфигурации Cisco NXOS используют простой синтаксис с отступами для разделения конфигурации на секции. Этот модуль предоставляет реализацию для работы с секциями конфигурации NXOS детерминированным способом. Этот модуль работает как с транспортами CLI, так и NXAPI.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after | Упорядоченный набор команд, которые нужно добавить в конец стека команд, если требуется внести изменения. Так же, как и с before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд. | ||
| backup bool (добавлено в 2.2) |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневом каталоге плейбука или в корневом каталоге роли, если плейбук является частью роли Ansible. Если папка не существует, она создается. | |
| before | Упорядоченный набор команд, которые нужно добавить в стек команд, если требуется внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением любых изменений без влияния на то, как набор команд сопоставляется с системой. | ||
| defaults bool (добавлено в 2.2) |
| Аргумент defaults повлияет на то, как извлекается текущая конфигурация устройства. При значении true, команда для извлечения текущей конфигурации дополняется словом all. При значении false, команда выполняется без слова all. | |
| diff_against (добавлено в 2.4) |
| При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать разницы по отношению к различным источникам.При настройке этого параметра как startup модуль вернёт разницу между текущей и стартовой конфигурацией. При настройке этого параметра как intended модуль вернёт разницу между текущей конфигурацией и конфигурацией, предоставленной в аргументе intended_config. При настройке этого параметра как running, модуль вернёт разницу до и после текущей конфигурации по отношению к изменениям, внесённым в конфигурацию устройства. | |
| diff_ignore_lines (добавлено в 2.4) | Используйте этот аргумент для указания одной или нескольких строк, которые следует игнорировать во время поиска различий. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||
| force bool |
| Аргумент force указывает модулю не учитывать текущую конфигурацию устройства. При установке в true, это заставит модуль скопировать содержимое src на устройство без предварительной проверки, была ли эта конфигурация уже настроена. Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата установите параметр match=none, который является идемпотентным. Этот аргумент будет удален в будущей версии. | |
| intended_config (добавлено в 2.4) | intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки окончательной текущей конфигурации. Этот аргумент не будет изменять какие-либо настройки на удалённом устройстве и используется только для проверки соответствия текущей конфигурации устройства заданной. При указании этого аргумента задача также должна изменить значение diff_against и установить его в значение intended. | ||
| lines | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в текущей конфигурации устройства. Убедитесь, что вы учитываете синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства. псевдонимы: команды | ||
| match |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в line, команды сопоставляются построчно. Если match установлен в strict, строки команд сопоставляются по позиции. Если match установлен в exact, строки команд должны полностью совпадать. Наконец, если match установлен в none, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удалённом устройстве. | |
| parents | Упорядоченный набор родителей, которые однозначно идентифицируют раздел или иерархию, к которым должны применяться команды. Если аргумент parents опущен, команды проверяются по отношению к набору команд верхнего уровня или глобальным командам. | ||
| provider | Устарел Начиная с Ansible 2.5, рекомендуем использовать connection: network_cli. Этот параметр требуется только если вы используете NX-API. Для получения дополнительной информации см. руководство NXOS Platform Options. Объект словаря, содержащий сведения о подключении. | ||
| host обязательно | Указывает имя или адрес хоста DNS для подключения к удалённому устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта. | ||
| port | По умолчанию: "0 (использовать общий порт)" | Указывает порт, который будет использоваться при построении подключения к удалённому устройству. Это значение применимо к cli или nxapi. Значение порта будет по умолчанию соответствовать общему порту для данного транспорта, если он не указан в задаче (cli=22, http=80, https=443). | |
| username | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| password | Указывает пароль для аутентификации подключения к удалённому устройству. Это общий аргумент, используемый для транспортов cli или nxapi. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| authorize bool (добавлено в 2.5.3) |
| Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_AUTHORIZE. | |
| auth_pass (добавлено в 2.5.3) | По умолчанию: "none" | Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это требуется. Если authorize имеет значение false, этот аргумент ничего не делает. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_AUTH_PASS. | |
| timeout (добавлено в 2.3) | По умолчанию: 10 | Устанавливает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль вернёт ошибку. NX-API может медленно возвращать данные при выполнении длительных команд (sh mac, sh bgp и т. д.). | |
| ssh_keyfile | Указывает SSH ключ для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| transport обязательно | По умолчанию: "cli" | Настраивает транспортное соединение для подключения к удалённому устройству. Аргумент transport поддерживает подключение к устройству по cli (ssh) или nxapi. | |
| use_ssl bool |
| Настраивает transport на использование SSL, если значение true, только если transport=nxapi, в противном случае это значение игнорируется. | |
| validate_certs bool |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых лично сайтах, использующих самозаверенные сертификаты. Если аргумент transport не nxapi, это значение игнорируется. | |
| use_proxy bool (added in 2.5) |
| Если no, переменные окружения http_proxy и https_proxy будут проигнорированы. | |
| replace |
| Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в строка, то изменённые строки будут отправлены на устройство в режиме конфигурации. Если аргумент replace установлен в блок, то весь блок команды будет отправлен на устройство в режиме конфигурации, если какая-либо строка некорректна. 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-конфигурацию для каждой задачи в playbook. Аргумент running_config позволяет разработчику передать конфигурацию, используемую в качестве базовой конфигурации для сравнения. псевдонимы: config | ||
| save bool (added in 2.2) |
| Аргумент save указывает модулю сохранить running-конфигурацию в startup-конфигурацию. Эта операция выполняется после внесения любых изменений в текущую running-конфигурацию. Если изменений не было, конфигурация всё равно сохраняется в startup-конфигурацию. Этот параметр всегда заставит модуль вернуть changed.Этот параметр устарел с Ansible 2.4, используйте save_when
| |
| save_when (added in 2.4) |
| При внесении изменений в running-конфигурацию устройства, изменения по умолчанию не копируются в постоянную память. Использование этого аргумента изменит это. Если аргумент установлен в всегда, то running-конфигурация всегда будет скопирована в startup-конфигурацию, а флаг изменено всегда будет установлен в True. Если аргумент установлен в изменено, то running-конфигурация будет скопирована в startup-конфигурацию только в том случае, если она изменилась с момента последнего сохранения в startup-конфигурацию. Если аргумент установлен в никогда, то running-конфигурация никогда не будет скопирована в startup-конфигурацию. Если аргумент установлен в changed, то running-конфигурация будет скопирована в startup-конфигурацию только в том случае, если задача внесла изменения. changed был добавлен в Ansible 2.6. | |
| src (added in 2.2) | Аргумент src предоставляет путь к файлу конфигурации для загрузки на удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или playbook. Этот аргумент взаимоисключающий с аргументами 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 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
- 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'] |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль помечен как сетевой, что означает, что его поддерживает команда 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/nxos_config_module.html