Spec-Zone.ru › Ansible

Модуль cisco.nxos.nxos_config – Управление разделами конфигурации Cisco NXOS

Примечание

Этот модуль входит в коллекцию cisco.nxos (версия 8.1.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

Параметры

Параметр

Комментарии

после

список / элементы=строка

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

бэкап

логический

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

Варианты:

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

backup_options

словарь

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

dir_path

путь

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

filename

строка

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

перед

список / элементы=строка

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

по умолчанию

логический

Аргумент defaults повлияет на то, как собирается running-config с устройства. При значении true команда для сбора running-config дополняется ключевым словом all. При значении false команда выполняется без ключевого слова all.

Варианты:

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

сравнение_с

строка

При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать разницы по отношению к различным источникам.

Когда этот параметр настроен как startup, модуль вернёт разницу между running-config и startup-config.

Когда этот параметр настроен как intended, модуль вернёт разницу между running-config и конфигурацией, предоставленной в аргументе intended_config.

Когда этот параметр настроен как running, модуль вернёт разницу до и после running-config относительно любых изменений, внесённых в конфигурацию устройства.

Варианты:

  • "startup"
  • "intended"
  • "running"

diff_ignore_lines

список / элементы=строка

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

intended_config

строка

intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки окончательной running-config. Этот аргумент не будет изменять какие-либо параметры на удалённом устройстве и используется только для проверки соответствия текущей конфигурации устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в intended. Строки конфигурации для этого значения должны быть похожи на то, как они будут отображаться при наличии в running-конфигурации устройства, включая отступы для обеспечения правильного сравнения.

строки

псевдонимы: команды

список / элементы=строка

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

сопоставление

строка

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

Варианты:

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

родители

список / элементы=строка

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

replace

string

Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в значение line, изменённые строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в значение block, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. replace config будет работать только для версий NX-OS, поддерживающих `config replace`.

Варианты:

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

replace_src

string

Аргумент replace_src предоставляет путь к файлу конфигурации, который нужно загрузить в удалённую систему. Этот аргумент используется для замены всей конфигурации файлом. Он используется с аргументом replace со значением config. Он несовместим с аргументами lines и src. Этот аргумент будет работать только для версий NX-OS, поддерживающих `config replace`. Используйте модуль nxos_file_copy для копирования файла конфигурации на удалённое устройство, а затем используйте путь с этим аргументом. Строки конфигурации в файле должны быть похожи на те, которые присутствуют в текущей конфигурации устройства, включая отступы, для обеспечения идемпотентности и правильного разницы.

running_config

aliases: config

string

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

save_when

string

При внесении изменений в текущую конфигурацию устройства, изменения по умолчанию не копируются в постоянное хранилище. Использование этого аргумента изменит это. Если аргумент установлен в значение always, текущая конфигурация всегда будет скопирована в стартовую конфигурацию, а флаг modified всегда будет установлен в True. Если аргумент установлен в modified, текущая конфигурация будет скопирована в стартовую конфигурацию только в том случае, если она изменилась с момента последнего сохранения в стартовой конфигурации. Если аргумент установлен в never, текущая конфигурация никогда не будет скопирована в стартовую конфигурацию. Если аргумент установлен в changed, текущая конфигурация будет скопирована в стартовую конфигурацию только в том случае, если задача внесла изменения. changed был добавлен в Ansible 2.6.

Варианты:

  • "always"
  • "never" ← (по умолчанию)
  • "modified"
  • "changed"

src

path

Аргумент src указывает путь к файлу конфигурации для загрузки в удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованного роли или playbook. Этот аргумент несовместим с аргументами lines и parents. Строки конфигурации в исходном файле должны быть похожи на те, которые будут присутствовать в текущей конфигурации устройства, включая отступы, для обеспечения идемпотентности и правильного разницы.

Примечания

Примечание

  • Не поддерживается для 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.
  • Для обеспечения идемпотентности и правильного разницы строки конфигурации в соответствующих параметрах модуля должны быть похожи на те, которые присутствуют в текущей конфигурации устройства, включая отступы.
  • Дополнительную информацию об использовании CLI и NX-API см. в руководстве :ref:`NXOS Platform Options <nxos_platform_options>`
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве :ref:`Ansible Network Guide <network_guide>`
  • Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции 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

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

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

Ключ

Описание

backup_path

строка

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

Возвращается: при backup = yes

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

commands

список / элементы=строка

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

Возвращается: всегда

Пример: ["hostname foo", "vlan 1", "name default"]

date

строка

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

Возвращается: при backup = yes

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

filename

строка

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

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

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

shortname

строка

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

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

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

time

строка

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

Возвращается: при backup = yes

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

updates

список / элементы=строка

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

Возвращается: всегда

Пример: ["hostname foo", "vlan 1", "name default"]

Авторы

  • Peter Sprygada (@privateip)

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

  • Система отслеживания задач
  • Репозиторий (источники)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/nxos/nxos_config_module.html

Spec-Zone.ru

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