Spec-Zone.ru › Ansible 2.11

cisco.iosxr.iosxr_config – Управление разделами конфигурации Cisco IOS XR

Примечание

Этот плагин входит в коллекцию cisco.iosxr (версия 1.2.1).

Для его установки используйте: ansible-galaxy collection install cisco.iosxr

Чтобы использовать его в книге задач, укажите: cisco.iosxr.iosxr_config

Новое в версии 1.0.0: cisco.iosxr

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Обзор

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

Примечание

Этот модуль имеет соответствующий плагин действий.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
admin
boolean
    Варианты:
  • нет ←
  • да
Переходит в режим администрирования для внесения изменений в конфигурацию устройства.
after
список / элементы=строка
Упорядоченный набор команд, которые добавляются в конец стека команд, если необходимо внести изменения. Так же, как и с параметром before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд.
backup
boolean
    Варианты:
  • нет ←
  • да
Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удалённого устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневом каталоге плейбука или в корневом каталоге роли, если плейбук является частью роли Ansible. Если директория не существует, она будет создана.
backup_options
словарь
Это объект типа dict, содержащий настраиваемые параметры, связанные с путём к файлу резервной копии. Значение этого параметра читается только тогда, когда backup установлено в да; если backup установлено в нет, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр указывает путь, заканчивающийся именем каталога, в котором будет храниться файл конфигурации резервной копии. Если каталог не существует, он будет создан сначала, а имя файла будет либо значением filename, либо значением по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в текущем рабочем каталоге будет создан каталог backup, и конфигурация резервной копии будет скопирована в filename внутри каталога backup.
filename
строка
Имя файла, используемого для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>
before
список / элементы=строка
Упорядоченный набор команд, которые добавляются в стек команд, если требуется внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на то, как набор команд сопоставляется с системой.
comment
строка
Значение по умолчанию:
"настроено iosxr_config"
Позволяет указать описание коммита, которое будет включено при сохранении конфигурации. Если конфигурация не изменялась или не сохранялась, этот аргумент игнорируется.
config
строка
Модуль по умолчанию подключается к удалённому устройству и получает текущую конфигурацию для использования в качестве основы для сравнения с содержимым источника. Иногда нежелательно получать текущую конфигурацию для каждого задания в плейбуке. Аргумент config позволяет разработчику передать конфигурацию в качестве базовой конфигурации для сравнения. Строки конфигурации для этого параметра должны быть похожи на строки, которые будут присутствовать в текущей конфигурации устройства, чтобы обеспечить идемпотентность и правильное различие.
exclusive
boolean
    Варианты:
  • нет ←
  • да
Переходит в режим эксклюзивной конфигурации, который блокирует всех пользователей от внесения изменений в конфигурацию до завершения эксклюзивной сессии.
force
boolean
    Варианты:
  • нет ←
  • да
Аргумент force указывает модулю не учитывать текущую рабочую конфигурацию устройства. При установке в значение true, модуль перешлёт содержимое src на устройство, не проверяя, настроен ли уже этот параметр.
Обратите внимание, что этот аргумент считается устаревшим. Для достижения эквивалентного эффекта установите match=none, который является идемпотентным. Этот аргумент будет удалён в будущих версиях.
label
строка
Позволяет указать метку коммита, которая будет включена при сохранении конфигурации. Действительная метка должна начинаться с буквы и не превышать 30 символов; допускаются только буквы, цифры, дефисы и символы подчеркивания. Если конфигурация не изменялась или не сохранялась, этот аргумент игнорируется.
lines
список / элементы=строка
Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точными копиями команд, найденных в рабочей конфигурации устройства, чтобы обеспечить идемпотентность и корректное различие. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства.

алиасы: команды
match
строка
    Варианты:
  • строка ←
  • строго
  • точно
  • ничего
Указывает модулю способ сравнения набора команд с текущей конфигурацией устройства. Если match установлено в строка, команды сравниваются построчно. Если match установлено в строго, строки команд сравниваются относительно их позиции. Если match установлено в точно, строки команд должны быть полностью идентичны. Наконец, если match установлено в ничего, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удалённом устройстве.
parents
список / элементы=строка
Упорядоченный набор родителей, которые уникально идентифицируют раздел или иерархию, с которой должны быть проверены команды. Если аргумент parents опущен, команды проверяются по отношению к набору команд верхнего уровня или глобальным командам.
provider
словарь
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.
Для получения дополнительной информации см. Руководство по сети.
Объект типа dict, содержащий данные подключения.
host
строка
Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта.
password
строка
Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задании, вместо него используется значение переменной среды ANSIBLE_NET_PASSWORD.
port
целое число
Указывает порт для подключения к удалённому устройству.
ssh_keyfile
путь
Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации SSH-сессии. Если значение не указано в задании, вместо него используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
timeout
целое число
Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку.
transport
строка
    Варианты:
  • cli ←
  • netconf
Указывает тип транспорта для подключения.
username
строка
Указывает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задании, вместо него используется значение переменной среды ANSIBLE_NET_USERNAME.
replace
строка
    Варианты:
  • строка ←
  • блок
  • конфигурация
Указывает модулю способ внесения изменений на устройстве. Если аргумент replace установлен в строка, изменённые строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в блок, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна.
src
путь
Указывает исходный путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путём на хосте Ansible или относительным путём от корневого каталога плейбука или роли. Этот аргумент взаимоисключает с lines и parents. Строки конфигурации в исходном файле должны быть похожи на строки, которые будут присутствовать в рабочей конфигурации устройства, чтобы обеспечить идемпотентность и корректное различие.

Примечания

Примечание

  • Этот модуль работает с подключением network_cli. См. параметры платформы IOS-XR.
  • Тестировался на IOS XRv 6.1.3.
  • Этот модуль не поддерживает netconf подключение
  • Сокращённые команды НЕ идемпотентны, см. L(Вопросы и ответы по сети,../network/user_guide/faq.html
  • Избегайте изменений, нарушающих работу сервисов (например, IP-адрес управления) из конфигурации replace.
  • Не используйте end в файле конфигурации replace.
  • Для обеспечения идемпотентности и корректного diff строки конфигурации в соответствующих модульных параметрах должны быть похожи на то, как они отображаются при наличии в текущей конфигурации устройства, включая отступы.
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по Ansible для сетей
  • Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции 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: for idempotency, use full-form commands
  cisco.iosxr.iosxr_config:
    lines:
      # - shut
    - shutdown
    # parents: int g0/0/0/1
    parents: interface GigabitEthernet0/0/0/1

- name: configurable backup path
  cisco.iosxr.iosxr_config:
    src: config.cfg
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

Значения возврата

Общие значения возврата документированы здесь, следующие — поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
backup_path
строка
при backup = да
Полный путь к файлу резервной копии

Пример:
/playbooks/ansible/backup/iosxr01_config.2016-07-16@22:28:34
commands
список / элементы=строка
если есть команды для выполнения на хосте
Набор команд, которые будут отправлены на удаленное устройство

Пример:
['hostname foo', 'router ospf 1', 'router-id 1.1.1.1']
date
строка
при backup = да
Дата, извлечённая из имени файла резервной копии

Пример:
2016-07-16
filename
строка
при backup = да и имя файла не указано в параметрах backup
Имя файла резервной копии

Пример:
iosxr01_config.2016-07-16@22:28:34
shortname
строка
при backup = да и имя файла не указано в параметрах backup
Полный путь к файлу резервной копии без временной метки

Пример:
/playbooks/ansible/backup/iosxr01_config
time
строка
при backup = да
Время, извлечённое из имени файла резервной копии

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


Авторы

  • Ricardo Carrillo Cruz (@rcarrillocruz)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/iosxr/iosxr_config_module.html

Spec-Zone.ru

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