community.network.nos_config – Управление разделами конфигурации Extreme Networks NOS
Примечание
Этот плагин входит в коллекцию community.network (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.network
Для использования в книге задач укажите: community.network.nos_config
Обзор
- Конфигурации Extreme NOS используют простой синтаксис с отступами блоков для разбиения конфигурации на разделы. Этот модуль предоставляет реализацию работы с разделами конфигурации NOS детерминированным способом.
Примечание
Для этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after строка | Упорядоченный набор команд, которые нужно добавить в конец стека команд, если требуется изменение. Как и в случае с before, это позволяет разработчику книги задач добавить набор команд, которые будут выполнены после набора команд. | ||
| backup логическое |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневой директории книги задач. Если директория не существует, она создается. | |
| backup_options словарь | Это объект словаря, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра считывается только тогда, когда backup установлено в да. Если backup установлено в нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр предоставляет путь, заканчивающийся именем директории, в которой будет храниться файл резервной копии конфигурации. Если директория не существует, она будет создана сначала, и имя файла будет либо значением filename, либо именем файла по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в этом случае будет создана директория backup в текущей рабочей директории, и резервная копия конфигурации будет скопирована в filename внутри директории backup. | ||
| filename строка | Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <hostname>_config.<current-date>@<current-time> | ||
| 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
community.network.nos_config:
lines: logging raslog console INFO
- name: Configure interface settings
community.network.nos_config:
lines:
- description test interface
- ip address 172.31.1.1/24
parents:
- interface TenGigabitEthernet 104/0/1
- name: Configure multiple interfaces
community.network.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
community.network.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
community.network.nos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- name: Configurable backup path
community.network.nos_config:
lines: logging raslog console INFO
backup: yes
backup_options:
filename: backup.cfg
dir_path: /home/user
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращённое значение | Описание |
|---|---|---|
| backup_path строка | при backup = да | Полный путь к файлу резервной копии Пример: /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'] |
Авторы
- 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.10/collections/community/network/nos_config_module.html