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