Модуль cisco.nxos.nxos_config — управление разделами конфигурации Cisco NXOS
Примечание
Этот модуль входит в коллекцию cisco.nxos (версия 11.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install cisco.nxos.
Чтобы использовать её в плейбуке, укажите: cisco.nxos.nxos_config.
Добавлено в cisco.nxos 1.0.0
Краткое описание
- В конфигурациях Cisco NXOS используется простой синтаксис файлов с блочными отступами для разделения конфигурации на секции. Этот модуль реализует детерминированный способ работы с разделами конфигурации NXOS. Модуль работает как с транспортом CLI, так и с NXAPI.
Примечание
Этому модулю соответствует плагин действий.
Псевдонимы: config
Параметры
Параметр | Комментарии |
|---|---|
after list / elements=string | Упорядоченный набор команд, добавляемых в конец стека команд, если необходимо внести изменение. Как и параметр before, этот параметр позволяет разработчику плейбука добавить набор команд, которые будут выполнены после основного набора команд. |
backup boolean | Этот аргумент заставляет модуль создать полную резервную копию текущей Варианты:
|
backup_options dictionary | Объект dict, содержащий настраиваемые параметры, связанные с путём к файлу резервной копии. Значение этого параметра считывается только тогда, когда для |
|
dir_path path |
Этот параметр задаёт путь, оканчивающийся именем каталога, в котором будет храниться файл резервной копии конфигурации. Если каталог не существует, он будет создан. Имя файла будет соответствовать значению |
|
filename string |
Имя файла для сохранения резервной копии конфигурации. Если имя файла не задано, оно будет сформировано на основе имени хоста, текущих даты и времени в формате <hostname>_config.<current-date>@<current-time> |
before list / elements=string | Упорядоченный набор команд, помещаемых в стек команд, если необходимо внести изменение. Это позволяет разработчику плейбука выполнить команды настройки до внесения изменений, не влияя на способ сопоставления набора команд с конфигурацией системы. |
content string | Содержимое конфигурации для применения к устройству. Это должен быть текст отрендеренной конфигурации, а не путь к файлу. Это рекомендуемый способ передачи шаблонных конфигураций. Используйте lookup Этот аргумент несовместим с параметрами src, lines, parents и replace_src. Пример: |
defaults boolean | Аргумент defaults влияет на то, как устройство возвращает running-config. Если задано значение true, к команде получения running-config добавляется ключевое слово all. Если задано значение false, команда выполняется без ключевого слова all. Варианты:
|
diff_against string | При использовании аргумента командной строки Если для этого параметра задано значение startup, модуль вернёт различия между running-config и startup-config. Если для этого параметра задано значение intended, модуль вернёт различия между running-config и конфигурацией, указанной в аргументе Если для этого параметра задано значение running, модуль вернёт различия до и после изменения running-config. Варианты:
|
diff_ignore_lines list / elements=string | Используйте этот аргумент, чтобы указать одну или несколько строк, которые следует игнорировать при сравнении различий. Он предназначен для строк конфигурации, автоматически обновляемых системой. В качестве значения аргумента можно передать список регулярных выражений или точных совпадений строк. |
intended_config string | Параметр |
lines псевдонимы: commands list / elements=string | Упорядоченный набор команд, которые необходимо настроить в разделе. Для обеспечения идемпотентности и корректного сравнения различий команды должны в точности совпадать с командами в running-config устройства. Обратите внимание на синтаксис команд конфигурации: некоторые команды автоматически изменяются анализатором конфигурации устройства. |
match string | Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если для match задано значение line, команды сопоставляются построчно. Если задано значение strict, строки команд сопоставляются с учётом их положения. Если задано значение exact, строки команд должны полностью совпадать. Наконец, если задано значение none, модуль не будет сравнивать исходную конфигурацию с текущей конфигурацией удалённого устройства. Варианты:
|
parents list / elements=string | Упорядоченный набор родительских элементов, однозначно определяющих раздел или иерархию, относительно которых следует проверять команды. Если аргумент parents не указан, команды проверяются относительно набора команд верхнего уровня или глобальных команд. |
replace string | Указывает модулю способ применения конфигурации на устройстве. Если для аргумента replace задано значение line, изменённые строки передаются устройству в режиме конфигурации. Если задано значение block, весь блок команд передаётся устройству в режиме конфигурации, если хотя бы одна строка не соответствует заданной. Значение replace config работает только в версиях NX-OS с поддержкой `config replace`. Варианты:
|
replace_src string | Аргумент replace_src задаёт путь к файлу конфигурации, который нужно загрузить в удалённую систему. Этот аргумент используется для полной замены конфигурации обычным файлом. Он применяется вместе с аргументом replace, которому задано значение config. Этот аргумент несовместим с аргументами lines и src. Он работает только в версиях NX-OS с поддержкой `config replace`. Используйте модуль nxos_file_copy, чтобы скопировать обычный файл на удалённое устройство, а затем укажите путь к нему в этом аргументе. Строки конфигурации в файле должны соответствовать тому, как они будут выглядеть в running-configuration устройства, включая отступы, чтобы обеспечить идемпотентность и корректное сравнение различий. |
running_config псевдонимы: config string | По умолчанию модуль подключается к удалённому устройству и получает текущую running-config, чтобы использовать её как основу для сравнения с содержимым источника. Иногда нежелательно, чтобы задача получала текущую running-config при каждом запуске в плейбуке. Аргумент running_config позволяет передать конфигурацию, которая будет использоваться как базовая для сравнения. Строки конфигурации для этого параметра должны соответствовать тому, как они будут выглядеть в running-configuration устройства, включая отступы, чтобы обеспечить идемпотентность и корректное сравнение различий. |
save_when string | По умолчанию изменения running-configuration устройства не копируются в энергонезависимое хранилище. Этот аргумент позволяет изменить такое поведение. Если задано значение always, running-config всегда копируется в startup-config, а флаг modified всегда устанавливается в True. Если задано значение modified, running-config копируется в startup-config только в том случае, если она изменилась после последнего сохранения в startup-config. Если задано значение never, running-config никогда не копируется в startup-config. Если задано значение changed, running-config копируется в startup-config только в том случае, если задача внесла изменения. Значение changed добавлено в Ansible 2.6. Варианты:
|
src path | Задаёт исходный путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть абсолютным путём на управляющем узле Ansible или относительным путём от корневого каталога плейбука или роли. Этот аргумент несовместим с аргументами lines, parents, replace_src и content. Строки конфигурации в исходном файле должны соответствовать тому, как они будут выглядеть в running-configuration устройства, включая отступы, чтобы обеспечить идемпотентность и корректное сравнение различий. ПРИМЕЧАНИЕ: начиная с января 2028 года параметр src больше не будет обрабатывать шаблоны Jinja2. Чтобы использовать шаблонные конфигурации, отрендерите шаблон с помощью lookup |
Примечания
Примечание
- Тестирование выполнено на коммутаторах Nexus с Cisco NXOS 9.3(x).
- Не поддерживается для Cisco MDS.
- Сокращённые команды НЕ обеспечивают идемпотентность. См. https://docs.ansible.com/ansible/latest/network/user_guide/faq.html#why-do-the-config-modules-always-return-changed-true-with-abbreviated-commands.
- Для обеспечения идемпотентности и корректного сравнения различий строки конфигурации в соответствующих параметрах модуля должны соответствовать строкам конфигурации устройства, включая отступы.
- Рекомендуемый способ использования шаблонных конфигураций — отрендерить шаблон с помощью lookup
ansible.builtin.templateи передать результат параметру content. Использование Jinja2-шаблонов с параметром src считается устаревшим. - Сведения об использовании CLI и NX-API см. в :ref:`руководстве по параметрам платформы NXOS <nxos_platform_options>`.
- Дополнительную информацию об управлении сетевыми устройствами с помощью Ansible см. в :ref:`руководстве по работе с сетями в Ansible <network_guide>`.
- Дополнительную информацию об управлении устройствами Cisco с помощью Ansible см. на `странице интеграции с Cisco <https://www.ansible.com/integrations/networks/cisco>`_.
Примеры
- name: configure top level configuration and save it
cisco.nxos.nxos_config:
lines: hostname {{ inventory_hostname }}
save_when: modified
- name: diff the running-config against a provided config
cisco.nxos.nxos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- cisco.nxos.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
- cisco.nxos.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
cisco.nxos.nxos_config:
replace_src: config.txt
replace: config
- name: for idempotency, use full-form commands
cisco.nxos.nxos_config:
lines:
# - shut
- shutdown
# parents: int eth1/1
parents: interface Ethernet1/1
- name: configurable backup path
cisco.nxos.nxos_config:
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
- name: Render a Jinja2 template onto an NXOS device (DEPRECATED - use content parameter)
cisco.nxos.nxos_config:
backup: true
src: nxos_template.j2
- name: Apply templated configuration using content parameter (RECOMMENDED)
cisco.nxos.nxos_config:
content: "{{ lookup('ansible.builtin.template', 'nxos_template.j2') }}"
backup: true
- name: Apply templated configuration with backup options (RECOMMENDED)
cisco.nxos.nxos_config:
content: "{{ lookup('ansible.builtin.template', 'nxos_template.j2') }}"
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
- name: Load configuration from pre-rendered template
cisco.nxos.nxos_config:
content: |
interface Ethernet1/1
description Uplink to Core
ip address 10.1.1.1/24
no shutdown
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
backup_path string | Полный путь к файлу резервной копии Возвращается: если backup имеет значение yes Пример: |
commands list / elements=string | Набор команд, которые будут переданы удалённому устройству Возвращается: всегда Пример: |
date string | Дата, извлечённая из имени файла резервной копии Возвращается: если backup имеет значение yes Пример: |
filename string | Имя файла резервной копии Возвращается: если backup имеет значение yes, а имя файла не задано в параметрах backup Пример: |
shortname string | Полный путь к файлу резервной копии без метки времени Возвращается: если backup имеет значение yes, а имя файла не задано в параметрах backup Пример: |
time string | Время, извлечённое из имени файла резервной копии Возвращается: если backup имеет значение yes Пример: |
updates list / elements=string | Набор команд, которые будут переданы удалённому устройству Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/cisco/nxos/nxos_config_module.html