Spec-Zone.ru › Ansible

Модуль 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

Переходит в режим административной конфигурации для внесения изменений в конфигурацию устройства.

Варианты:

  • false ← (по умолчанию)
  • true

after

list / elements=string

Упорядоченный набор команд, добавляемых в конец стека команд, если необходимо внести изменения. Как и before, этот параметр позволяет автору плейбука добавить набор команд, которые будут выполнены после основного набора команд.

backup

boolean

Этот аргумент указывает модулю создать полную резервную копию текущей running-config на удаленном устройстве до внесения любых изменений. Если значение backup_options не указано, файл резервной копии записывается в каталог backup в корневом каталоге плейбука или роли, если плейбук входит в роль Ansible. Если каталога не существует, он будет создан.

Варианты:

  • false ← (по умолчанию)
  • true

backup_options

dictionary

Это объект dict, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра считывается только при установке backup в yes; если backup установлено в no, этот параметр будет без предупреждения проигнорирован.

dir_path

path

Этот параметр задает путь, заканчивающийся именем каталога, в котором будет сохранен файл резервной копии конфигурации. Если каталога не существует, он будет сначала создан. Имя файла будет соответствовать значению filename или имени по умолчанию, описанному в описании параметра filename. Если путь не указан, в текущем рабочем каталоге будет создан каталог backup, а резервная копия конфигурации будет скопирована в filename внутри каталога backup.

filename

string

Имя файла для сохранения резервной копии конфигурации. Если имя файла не задано, оно будет сформировано на основе имени узла, текущего времени и даты в формате <hostname>_config.<current-date>@<current-time>

before

list / elements=string

Упорядоченный набор команд, добавляемых в стек команд, если необходимо внести изменения. Это позволяет автору плейбука выполнить команды конфигурации перед применением любых изменений, не влияя на сопоставление набора команд с системой.

comment

string

Позволяет указать описание фиксации, которое будет добавлено при фиксации конфигурации. Если конфигурация не изменена или не зафиксирована, этот аргумент игнорируется.

По умолчанию: "configured by iosxr_config"

config

string

По умолчанию модуль подключается к удаленному устройству и получает текущую running-config, чтобы использовать ее в качестве основы для сравнения с содержимым source. Иногда для каждой задачи в плейбуке нежелательно получать текущую running-config. Аргумент config позволяет передать конфигурацию, которая будет использоваться в качестве базовой для сравнения. Строки конфигурации для этого параметра должны соответствовать тому виду, который они имели бы в running-configuration устройства, чтобы обеспечить идемпотентность и корректное отображение различий.

content

string

Содержимое конфигурации для применения к устройству. Это должен быть текст отрисованной конфигурации, а не путь к файлу.

Это рекомендуемый способ передачи шаблонных конфигураций. Используйте поиск ansible.builtin.template для отрисовки шаблона Jinja2 и передайте результат этому параметру.

Этот аргумент несовместим с src, lines и parents.

Пример: content: "{{ lookup('ansible.builtin.template', 'config.j2' }}”)

disable_default_comment

boolean

Отключает комментарий по умолчанию, если установлено значение True.

Варианты:

  • false ← (по умолчанию)
  • true

exclusive

boolean

Переходит в режим эксклюзивной конфигурации, блокируя для всех пользователей возможность фиксировать изменения конфигурации до завершения эксклюзивного сеанса.

Варианты:

  • false ← (по умолчанию)
  • true

force

boolean

Аргумент force указывает модулю не учитывать текущую running-config устройства. Если установлено значение true, модуль отправит содержимое src на устройство, не проверяя предварительно, настроено ли оно уже.

Обратите внимание: этот аргумент считается устаревшим. Аналогичного поведения можно добиться, задав match=none; такой способ является идемпотентным. В будущем выпуске этот аргумент будет удален.

Варианты:

  • false ← (по умолчанию)
  • true

label

string

Позволяет указать метку фиксации, которая будет добавлена при фиксации конфигурации. Допустимая метка должна начинаться с буквы и содержать не более 30 символов; разрешены только буквы, цифры, дефисы и символы подчеркивания. Если конфигурация не изменена или не зафиксирована, этот аргумент игнорируется.

lines

псевдонимы: commands

list / elements=string

Упорядоченный набор команд, которые необходимо настроить в разделе. Для обеспечения идемпотентности и корректного отображения различий команды должны в точности совпадать с командами из running-config устройства. Учитывайте синтаксис команд конфигурации, поскольку некоторые команды автоматически изменяются анализатором конфигурации устройства.

match

string

Определяет, каким образом модуль сопоставляет набор команд с текущей конфигурацией устройства. Если для match задано значение line, команды сопоставляются построчно. Если для match задано значение strict, строки команд сопоставляются с учетом позиции. Если для match задано значение exact, строки команд должны полностью совпадать. Наконец, если для match задано значение none, модуль не будет пытаться сравнивать исходную конфигурацию с текущей конфигурацией на удаленном устройстве.

Варианты:

  • "line" ← (по умолчанию)
  • "strict"
  • "exact"
  • "none"

parents

list / elements=string

Упорядоченный набор родительских элементов, однозначно определяющих раздел или иерархию, относительно которых следует проверять команды. Если аргумент parents не указан, команды проверяются относительно набора команд верхнего уровня или глобальных команд.

replace

string

Определяет, каким образом модуль применяет конфигурацию на устройстве. Если для аргумента replace задано значение line, измененные строки отправляются на устройство в режиме конфигурации. Если для аргумента replace задано значение block, весь блок команд отправляется на устройство в режиме конфигурации, если хотя бы одна строка задана неверно.

Варианты:

  • "line" ← (по умолчанию)
  • "block"
  • "config"

src

path

Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть абсолютным на управляющем узле Ansible или относительным к корневому каталогу плейбука либо роли. Этот аргумент несовместим с lines, parents и content. Строки конфигурации в исходном файле должны соответствовать тому виду, который они имели бы в running-configuration устройства, чтобы обеспечить идемпотентность и корректное отображение различий.

ПРИМЕЧАНИЕ: начиная с января 2028 года параметр src больше не будет обрабатывать шаблоны Jinja2. Для использования шаблонных конфигураций отрисуйте шаблон с помощью поиска ansible.builtin.template и передайте результат параметру content.

Примечания

Примечание

  • Этот модуль работает с подключением 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

Пример: "/playbooks/ansible/backup/iosxr01_config.2016-07-16@22:28:34"

commands

list / elements=string

Набор команд, которые будут отправлены на удаленное устройство

Возвращается: если для выполнения на узле есть команды

Пример: ["hostname foo", "router ospf 1", "router-id 1.1.1.1"]

date

string

Дата, извлеченная из имени файла резервной копии

Возвращается: если backup имеет значение yes

Пример: "2016-07-16"

filename

string

Имя файла резервной копии

Возвращается: если backup имеет значение yes, а имя файла не указано в параметрах резервного копирования

Пример: "iosxr01_config.2016-07-16@22:28:34"

shortname

string

Полный путь к файлу резервной копии без временной метки

Возвращается: если backup имеет значение yes, а имя файла не указано в параметрах резервного копирования

Пример: "/playbooks/ansible/backup/iosxr01_config"

time

string

Время, извлеченное из имени файла резервной копии

Возвращается: если backup имеет значение yes

Пример: "22:28:34"

updates

list / elements=string

Набор команд, которые будут отправлены на удаленное устройство

Возвращается: если для выполнения на узле есть команды

Пример: ["hostname foo", "router ospf 1", "router-id 1.1.1.1"]

Авторы

  • Ricardo Carrillo Cruz (@rcarrillocruz)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API