community.network.slxos_config – Управление конфигурационными разделами Extreme Networks SLX-OS
Примечание
Этот плагин входит в сборку community.network (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.network
Чтобы использовать его в плейбуке, укажите: community.network.slxos_config
Описание
- Конфигурации Extreme SLX-OS используют простой синтаксис блочного отступа для разбиения конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации SLX-OS детерминированным способом.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after строка | Упорядоченный набор команд для добавления в конец стека команд, если требуется внести изменения. Подобно параметру before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд. | ||
| backup булево |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, резервный файл записывается в папку backup в корневой директории плейбука. Если директория не существует, она создается. | |
| backup_options словарь | Это объект типа dict, содержащий настраиваемые параметры, связанные с путем к резервному файлу. Значение этого параметра считывается только когда backup установлено в да, если backup установлено в нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр задает путь к директории, в которой будет храниться резервная копия конфигурационного файла. Если директория не существует, она будет создана, а имя файла будет либо значением filename, либо значением по умолчанию, как описано в filename описании опций. Если значение пути не указано, будет создана директория backup в текущей рабочей директории, и резервная копия конфигурации будет скопирована в filename внутри директории backup. | ||
| filename строка | Имя файла, используемого для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <hostname>_config.<current-date>@<current-time> | ||
| before строка | Упорядоченный набор команд для добавления в стек команд, если требуется внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации до внесения каких-либо изменений, не влияя на способ сопоставления набора команд с системой. | ||
| defaults булево |
| Этот аргумент указывает, нужно ли собирать все значения по умолчанию при получении конфигурации удаленного устройства. При включении модуль получит текущую конфигурацию, выполнив команду show running-config all | |
| diff_against строка |
| Используя аргумент командной строки ansible-playbook --diff, модуль может генерировать сравнения с различными источниками.При настройке этого параметра как стартовая, модуль вернет сравнение текущей конфигурации с начальной. При настройке этого параметра как запланированная, модуль вернет сравнение текущей конфигурации с конфигурацией, указанной в аргументе intended_config.При настройке этого параметра как текущая, модуль вернет сравнение текущей конфигурации до и после любых изменений, внесенных в конфигурацию устройства. | |
| diff_ignore_lines строка | Используйте этот аргумент для указания одной или нескольких строк, которые должны быть проигнорированы во время сравнения. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||
| intended_config строка | Параметр intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки конечной текущей конфигурации. Этот аргумент не будет изменять какие-либо параметры на удаленном устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства. При указании этого аргумента необходимо также изменить значение diff_against и установить его в запланированная. | ||
| lines строка | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть такими же, как и в текущей конфигурации устройства. Убедитесь, что вы учитываете синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства. псевдонимы: команды | ||
| match строка |
| Инструктирует модуль о способе выполнения сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в строка, команды сопоставляются по строкам. Если match установлен в строгое, строки команд сопоставляются с учетом позиции. Если match установлен в точное, строки команд должны быть точным совпадением. Наконец, если match установлен в ничего, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удаленном устройстве. | |
| multiline_delimiter строка | По умолчанию: "@" | Этот аргумент используется при передаче многострочного конфигурационного элемента на устройство SLX-OS. Он указывает символ, используемый в качестве разделителя. Это относится только к действию конфигурации. | |
| parents строка | Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел или иерархию, с которой должны сравниваться команды. Если аргумент parents опущен, команды сравниваются со списком команд верхнего уровня или глобальных команд. | ||
| replace строка |
| Инструктирует модуль о способе выполнения конфигурации на устройстве. Если аргумент replace установлен в строка, измененные строки передаются на устройство в режиме конфигурации. Если аргумент replace установлен в блок, весь блок команд передается на устройство в режиме конфигурации, если какая-либо строка неверна. | |
| running_config строка | По умолчанию модуль подключается к удаленному устройству и извлекает текущую конфигурацию для использования в качестве основы для сравнения с содержимым источника. В некоторых случаях нежелательно, чтобы задача получала текущую конфигурацию для каждой задачи в плейбуке. Аргумент running_config позволяет реализатору передать конфигурацию для использования в качестве базовой конфигурации для сравнения. псевдонимы: конфигурация | ||
| save_when строка |
| При внесении изменений в текущую конфигурацию устройства, эти изменения по умолчанию не копируются в энергонезависимую память. Использование этого аргумента изменит это. Если аргумент установлен в всегда, то текущая конфигурация всегда копируется в начальную конфигурацию, и флаг изменено всегда устанавливается в True. Если аргумент установлен в изменено, то текущая конфигурация копируется в начальную только в том случае, если она изменилась с момента последней сохранения в начальную конфигурацию. Если аргумент установлен в никогда, текущая конфигурация никогда не копируется в начальную конфигурацию. Если аргумент установлен в изменено, то текущая конфигурация будет скопирована в начальную только в том случае, если задача внесла изменения. | |
| src строка | Указывает путь к исходному файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путем на хосте Ansible или относительным путем от корня плейбука или роли. Этот аргумент несовместим с аргументами lines и parents. | ||
Примечания
Примечание
- Проверено на SLX-OS 17s.1.02
Примеры
- name: Configure top level configuration
community.network.slxos_config:
lines: hostname {{ inventory_hostname }}
- name: Configure interface settings
community.network.slxos_config:
lines:
- description test interface
- ip address 172.31.1.1/24
parents: interface Ethernet 0/1
- name: Configure multiple interfaces
community.network.slxos_config:
lines:
- lacp timeout long
parents: "{{ item }}"
with_items:
- interface Ethernet 0/1
- interface Ethernet 0/2
- name: Load new acl into device
community.network.slxos_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.slxos_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- name: Check the startup-config against the running-config
community.network.slxos_config:
diff_against: startup
diff_ignore_lines:
- ntp clock .*
- name: Save running to startup when modified
community.network.slxos_config:
save_when: modified
- name: Configurable backup path
community.network.slxos_config:
lines: hostname {{ inventory_hostname }}
backup: yes
backup_options:
filename: backup.cfg
dir_path: /home/user
Значения возврата
Общие значения возврата описаны в документации, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup равно yes | Полный путь к резервной копии файла Пример: /playbooks/ansible/backup/slxos_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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/slxos_config_module.html