nos_config – Управление разделами конфигурации Extreme Networks NOS
Новое в версии 2.7.
Краткое описание
- Конфигурации Extreme NOS используют простой синтаксис файла с отступами для сегментации конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации NOS детерминированным способом.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after - | Упорядоченный набор команд для добавления в конец стека команд, если требуется внести изменения. Как и в случае с before, это позволяет разработчику сценария добавить набор команд для выполнения после набора команд. | ||
| backup boolean |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, резервная копия файла записывается в папку backup в корневой директории сценария. Если директория не существует, она создается. | |
| backup_options словарь добавлено в 2.8 | Это объект словаря, содержащий настраиваемые параметры, относящиеся к пути к резервному файлу. Значение этого параметра считывается только когда backup установлено в да, если backup установлено в нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр предоставляет путь, заканчивающийся именем директории, в которой будет храниться резервный файл конфигурации. Если директория не существует, она будет создана в первую очередь, и имя файла — это либо значение filename, либо имя файла по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в этом случае будет создана директория backup в текущей рабочей директории, и резервная конфигурация будет скопирована в filename внутри директории backup. | ||
| filename - | Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время> | ||
| before - | Упорядоченный набор команд для добавления в стек команд, если требуется внести изменения. Это позволяет разработчику сценария выполнить команды конфигурации до внесения каких-либо изменений без влияния на то, как набор команд сопоставляется с системой. | ||
| diff_against - |
| При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать разницы по отношению к различным источникам.Когда этот параметр настроен как запланированная, модуль вернёт разницу между текущей конфигурацией и конфигурацией, предоставленной в аргументе intended_config. Когда этот параметр настроен как текущая, модуль вернёт разницу до и после текущей конфигурации по отношению к любым внесённым изменениям в конфигурацию устройства. | |
| diff_ignore_lines - | Используйте этот аргумент, чтобы указать одну или несколько строк, которые должны быть проигнорированы при сравнении. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||
| intended_config - | intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки окончательной текущей конфигурации. Этот аргумент не будет изменять какие-либо параметры на удалённом устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в запланированная. | ||
| lines - | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в конфигурации текущей версии устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства. псевдонимы: команды | ||
| match - |
| Указывает модулю способ выполнения сопоставления набора команд с текущей конфигурацией устройства. Если match установлено в строка, команды сопоставляются по строкам. Если match установлено в строгий, строки команд сопоставляются относительно позиции. Если match установлено в точный, строки команд должны точно совпадать. Наконец, если match установлено в отсутствует, модуль не будет пытаться сравнивать исходную конфигурацию с текущей конфигурацией на удалённом устройстве. | |
| multiline_delimiter - | По умолчанию: "@" | Этот аргумент используется при передаче многострочного элемента конфигурации устройству NOS. Он указывает символ, который будет использоваться в качестве разделителя. Это относится только к действию конфигурации. | |
| parents - | Упорядоченный набор родителей, которые однозначно идентифицируют раздел или иерархию, с которыми должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||
| replace - |
| Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в строка, изменённые строки передаются устройству в режиме конфигурации. Если аргумент replace установлен в блок, весь блок команды передаётся устройству в режиме конфигурации, если какая-либо строка неверна. | |
| running_config - | По умолчанию модуль подключается к удалённому устройству и извлекает текущую конфигурацию для использования в качестве основы для сравнения с содержимым исходного файла. Иногда нежелательно получать текущую конфигурацию для каждой задачи в сценарии. Аргумент running_config позволяет разработчику передать конфигурацию, используемую в качестве основной конфигурации для сравнения. псевдонимы: config | ||
| src - | Указывает исходный путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путём на хосте Ansible или относительным путём от корня сценария или роли. Этот аргумент взаимоисключает lines и parents. | ||
Примечания
Примечание
- Проверено на NOS 7.2.0
Примеры
- name: configure top level configuration
nos_config:
lines: logging raslog console INFO
- name: configure interface settings
nos_config:
lines:
- description test interface
- ip address 172.31.1.1/24
parents:
- interface TenGigabitEthernet 104/0/1
- name: configure multiple interfaces
nos_config:
lines:
- lacp timeout long
parents: "{{ item }}"
with_items:
- interface TenGigabitEthernet 104/0/1
- interface TenGigabitEthernet 104/0/2
- name: load new acl into device
nos_config:
lines:
- seq 10 permit ip host 1.1.1.1 any log
- seq 20 permit ip host 2.2.2.2 any log
- seq 30 permit ip host 3.3.3.3 any log
- seq 40 permit ip host 4.4.4.4 any log
- seq 50 permit ip host 5.5.5.5 any log
parents: ip access-list extended test
before: no ip access-list extended test
match: exact
- name: check the running-config against master config
nos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- name: configurable backup path
nos_config:
lines: logging raslog console INFO
backup: yes
backup_options:
filename: backup.cfg
dir_path: /home/user
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | если резервная копия есть | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/nos_config.2018-02-12@18:26:34 |
| commands список | всегда | Набор команд, которые будут отправлены на удаленное устройство Пример: ['switch-attributes hostname foo', 'router ospf', 'area 0'] |
| updates список | всегда | Набор команд, которые будут отправлены на удаленное устройство Пример: ['switch-attributes hostname foo', 'router ospf', 'area 0'] |
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Lindsay Hill (@LindsayHill)
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/nos_config_module.html