Модуль cisco.iosxr.iosxr_config — модуль для управления разделами конфигурации.
Примечание
Этот модуль входит в коллекцию cisco.iosxr (версия 12.3.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить ее, используйте: ansible-galaxy collection install cisco.iosxr.
Чтобы использовать ее в плейбуке, укажите: cisco.iosxr.iosxr_config.
Добавлено в cisco.iosxr 1.0.0
Краткое описание
- В конфигурациях Cisco IOS XR используется простой синтаксис файлов с блочными отступами для разделения конфигурации на разделы. Этот модуль предоставляет способ детерминированной работы с разделами конфигурации IOS XR.
Примечание
Этому модулю соответствует плагин действий.
Псевдонимы: config
Параметры
Параметр | Комментарии |
|---|---|
admin boolean | Переходит в режим административной конфигурации для внесения изменений в конфигурацию устройства. Варианты:
|
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 | Упорядоченный набор команд, добавляемых в стек команд, если необходимо внести изменения. Это позволяет автору плейбука выполнить команды конфигурации перед применением любых изменений, не влияя на сопоставление набора команд с системой. |
comment string | Позволяет указать описание фиксации, которое будет добавлено при фиксации конфигурации. Если конфигурация не изменена или не зафиксирована, этот аргумент игнорируется. По умолчанию: |
config string | По умолчанию модуль подключается к удаленному устройству и получает текущую running-config, чтобы использовать ее в качестве основы для сравнения с содержимым source. Иногда для каждой задачи в плейбуке нежелательно получать текущую running-config. Аргумент config позволяет передать конфигурацию, которая будет использоваться в качестве базовой для сравнения. Строки конфигурации для этого параметра должны соответствовать тому виду, который они имели бы в running-configuration устройства, чтобы обеспечить идемпотентность и корректное отображение различий. |
content string | Содержимое конфигурации для применения к устройству. Это должен быть текст отрисованной конфигурации, а не путь к файлу. Это рекомендуемый способ передачи шаблонных конфигураций. Используйте поиск Этот аргумент несовместим с src, lines и parents. Пример: |
disable_default_comment boolean | Отключает комментарий по умолчанию, если установлено значение True. Варианты:
|
exclusive boolean | Переходит в режим эксклюзивной конфигурации, блокируя для всех пользователей возможность фиксировать изменения конфигурации до завершения эксклюзивного сеанса. Варианты:
|
force boolean | Аргумент force указывает модулю не учитывать текущую running-config устройства. Если установлено значение true, модуль отправит содержимое src на устройство, не проверяя предварительно, настроено ли оно уже. Обратите внимание: этот аргумент считается устаревшим. Аналогичного поведения можно добиться, задав Варианты:
|
label string | Позволяет указать метку фиксации, которая будет добавлена при фиксации конфигурации. Допустимая метка должна начинаться с буквы и содержать не более 30 символов; разрешены только буквы, цифры, дефисы и символы подчеркивания. Если конфигурация не изменена или не зафиксирована, этот аргумент игнорируется. |
lines псевдонимы: commands list / elements=string | Упорядоченный набор команд, которые необходимо настроить в разделе. Для обеспечения идемпотентности и корректного отображения различий команды должны в точности совпадать с командами из running-config устройства. Учитывайте синтаксис команд конфигурации, поскольку некоторые команды автоматически изменяются анализатором конфигурации устройства. |
match string | Определяет, каким образом модуль сопоставляет набор команд с текущей конфигурацией устройства. Если для match задано значение line, команды сопоставляются построчно. Если для match задано значение strict, строки команд сопоставляются с учетом позиции. Если для match задано значение exact, строки команд должны полностью совпадать. Наконец, если для match задано значение none, модуль не будет пытаться сравнивать исходную конфигурацию с текущей конфигурацией на удаленном устройстве. Варианты:
|
parents list / elements=string | Упорядоченный набор родительских элементов, однозначно определяющих раздел или иерархию, относительно которых следует проверять команды. Если аргумент parents не указан, команды проверяются относительно набора команд верхнего уровня или глобальных команд. |
replace string | Определяет, каким образом модуль применяет конфигурацию на устройстве. Если для аргумента replace задано значение line, измененные строки отправляются на устройство в режиме конфигурации. Если для аргумента replace задано значение block, весь блок команд отправляется на устройство в режиме конфигурации, если хотя бы одна строка задана неверно. Варианты:
|
src path | Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть абсолютным на управляющем узле Ansible или относительным к корневому каталогу плейбука либо роли. Этот аргумент несовместим с lines, parents и content. Строки конфигурации в исходном файле должны соответствовать тому виду, который они имели бы в running-configuration устройства, чтобы обеспечить идемпотентность и корректное отображение различий. ПРИМЕЧАНИЕ: начиная с января 2028 года параметр src больше не будет обрабатывать шаблоны Jinja2. Для использования шаблонных конфигураций отрисуйте шаблон с помощью поиска |
Примечания
Примечание
- Этот модуль работает с подключением
network_cli. См. https://docs.ansible.com/ansible/latest/network/user_guide/platform_iosxr.html - Этот модуль не поддерживает подключение
netconf - Сокращенные команды НЕ являются идемпотентными. См. https://docs.ansible.com/ansible/latest/network/user_guide/faq.html#why-do-the-config-modules-always-return-changed-true-with-abbreviated-commands
- Избегайте изменений конфигурации, нарушающих работу служб (например, IP-адреса управления).
- Не используйте
endв файле конфигурации для замены. - Для обеспечения идемпотентности и корректного отображения различий строки конфигурации в соответствующих параметрах модуля должны соответствовать строкам в текущей конфигурации устройства, включая отступы.
- Дополнительные сведения об использовании Ansible для управления сетевыми устройствами см. в :ref:`руководстве по сетевым возможностям Ansible <network_guide>`
- Дополнительные сведения об использовании Ansible для управления устройствами Cisco см. на `странице интеграции с Cisco <https://www.ansible.com/integrations/networks/cisco>`_.
Примеры
- name: configure top level configuration
cisco.iosxr.iosxr_config:
lines: hostname {{ inventory_hostname }}
- name: configure interface settings
cisco.iosxr.iosxr_config:
lines:
- description test interface
- ip address 172.31.1.1 255.255.255.0
parents: interface GigabitEthernet0/0/0/0
- name: load a config from disk and replace the current config
cisco.iosxr.iosxr_config:
src: config.cfg
replace: config
backup: 'yes'
- name: Render a Jinja2 template onto an IOS-XR device (DEPRECATED - use content parameter)
cisco.iosxr.iosxr_config:
backup: true
src: iosxr_template.j2
- name: Apply templated configuration using content parameter (RECOMMENDED)
cisco.iosxr.iosxr_config:
content: "{{ lookup('ansible.builtin.template', 'iosxr_template.j2') }}"
backup: true
- name: Apply templated configuration with backup options (RECOMMENDED)
cisco.iosxr.iosxr_config:
content: "{{ lookup('ansible.builtin.template', 'iosxr_template.j2') }}"
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
- name: Load configuration from pre-rendered template
cisco.iosxr.iosxr_config:
content: |
interface GigabitEthernet0/0/0/1
description Uplink to Core
ipv4 address 10.1.1.1 255.255.255.0
no shutdown
- name: 'for idempotency, use full-form commands'
cisco.iosxr.iosxr_config:
lines:
- shutdown
parents: interface GigabitEthernet0/0/0/1
- name: configurable backup path
cisco.iosxr.iosxr_config:
src: config.cfg
backup: true
backup_options:
filename: backup.cfg
dir_path: /home/user
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
backup_path string | Полный путь к файлу резервной копии Возвращается: если backup имеет значение yes Пример: |
commands list / elements=string | Набор команд, которые будут отправлены на удаленное устройство Возвращается: если для выполнения на узле есть команды Пример: |
date string | Дата, извлеченная из имени файла резервной копии Возвращается: если backup имеет значение yes Пример: |
filename string | Имя файла резервной копии Возвращается: если backup имеет значение yes, а имя файла не указано в параметрах резервного копирования Пример: |
shortname string | Полный путь к файлу резервной копии без временной метки Возвращается: если backup имеет значение yes, а имя файла не указано в параметрах резервного копирования Пример: |
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/iosxr/iosxr_config_module.html