dellos9_config – Управление разделами конфигурации Dell EMC Networking OS9
Обзор
- Конфигурации OS9 используют простой синтаксис блочного отступа для разделения конфигурации на секции. Этот модуль предоставляет реализацию для работы с разделами конфигурации OS9 детерминированным способом.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after - | Упорядоченный набор команд, которые нужно добавить в конец стека команд, если требуется изменение. Аналогично параметру before, это позволяет автору плейбука добавить набор команд, которые должны выполняться после набора команд. | ||
| backup boolean |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневом каталоге плейбука. Если папка не существует, она создаётся. | |
| backup_options dictionary добавлено в 2.8 | Это объект типа dict, содержащий настраиваемые параметры, относящиеся к пути к файлу резервной копии. Значение этого параметра считывается только при backup равно yes; если backup равно no, этот параметр будет проигнорирован. | ||
| dir_path path | Этот параметр указывает путь, заканчивающийся именем каталога, в котором будет храниться файл резервной копии конфигурации. Если каталог не существует, он будет сначала создан, а имя файла — это либо значение filename, либо имя файла по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в текущем рабочем каталоге будет создан каталог backup, и резервная копия конфигурации будет скопирована в filename внутри каталога backup. | ||
| filename - | Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>. | ||
| before - | Упорядоченный набор команд, которые нужно поместить в стек команд, если требуется изменение. Это позволяет автору плейбука выполнить команды конфигурации до внесения каких-либо изменений без влияния на способ сопоставления набора команд с системой. | ||
| config - | Модуль по умолчанию подключается к удалённому устройству и получает текущую running-config для использования в качестве основы для сравнения с содержимым источника. В некоторых случаях нежелательно, чтобы задача получала текущую running-config для каждой задачи в плейбуке. Аргумент config позволяет разработчику передать конфигурацию, которую следует использовать в качестве базовой конфигурации для сравнения. | ||
| lines - | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в running-config устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства. Этот аргумент взаимоисключающий с аргументом src. псевдонимы: commands | ||
| match - |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если match установлен в line, команды сопоставляются по строкам. Если match установлен в strict, строки команд сопоставляются с учётом позиции. Если match установлен в exact, строки команд должны быть точным совпадением. Наконец, если match установлен в none, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией на удалённом устройстве. | |
| parents - | Упорядоченный набор родительских элементов, которые однозначно идентифицируют раздел или иерархию, с которой должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||
| provider dictionary | Объект типа dict, содержащий сведения о подключении. | ||
| host string / обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password string | Пароль для аутентификации сеанса SSH с удалённым устройством. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port integer | Значение по умолчанию: 22 | Указывает порт, который следует использовать при построении подключения к удалённому устройству. | |
| ssh_keyfile path | Путь к ключу ssh, используемому для аутентификации сеанса SSH с удалённым устройством. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout integer | Значение по умолчанию: 10 | Указывает таймаут бездействия (в секундах) для подключения. Полезно, если консоль зависает перед продолжением, например, при сохранении конфигураций. | |
| username string | Имя пользователя для аутентификации сеанса SSH с удалённым устройством. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| replace - |
| Указывает модулю способ выполнения конфигурации на устройстве. Если параметр replace установлен в line, изменённые строки отправляются устройству в режиме конфигурации. Если параметр replace установлен в block, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка некорректна. | |
| save boolean |
| Аргумент save инструктирует модуль сохранить running-config в startup-config по завершении выполнения модуля. Если указан режим проверки, этот аргумент игнорируется. | |
| src - | Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к файлу источника может быть полным путём на хосте Ansible или относительным путём от корневого каталога плейбука или роли. Этот аргумент взаимоисключающий с аргументом lines. | ||
| update - |
| Аргумент update управляет тем, как обрабатываются операторы конфигурации на удалённом устройстве. Допустимые значения для аргумента update — merge и check. При установке этого аргумента в merge, изменения конфигурации сливаются с текущей running-конфигурацией устройства. При установке этого аргумента в check, изменения конфигурации определяются, но фактически не настраиваются на удалённом устройстве. | |
Примечания
Примечание
- Этот модуль требует Dell OS9 версии 9.10.0.1P13 или выше.
- Для этого модуля требуется увеличить лимит скорости подключения ssh. Используйте следующую команду ip ssh connection-rate-limit 60 для его настройки. Это также можно сделать с помощью модуля dellos9_config.
- Дополнительную информацию об использовании Ansible для управления устройствами Dell EMC Network см. на странице https://www.ansible.com/ansible-dell-networking.
Примеры
- dellos9_config:
lines: ['hostname {{ inventory_hostname }}']
provider: "{{ cli }}"
- dellos9_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
- 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
- dellos9_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ['ip access-list extended test']
before: ['no ip access-list extended test']
replace: block
- dellos9_config:
lines: ['hostname {{ inventory_hostname }}']
provider: "{{ cli }}"
backup: yes
backup_options:
filename: backup.cfg
dir_path: /home/user
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup равно yes | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/dellos9_config.2016-07-16@22:28:34 |
| commands список | всегда | Набор команд, которые будут отправлены на удаленное устройство Пример: ['hostname foo', 'router bgp 1', 'bgp router-id 1.1.1.1'] |
| saved булево | Когда check_mode не включен. | Возвращает, сохранена ли конфигурация в стартовой конфигурации или нет. Пример: True |
| updates список | всегда | Набор команд, которые будут отправлены на удаленное устройство. Пример: ['hostname foo', 'router bgp 1', 'bgp router-id 1.1.1.1'] |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Dhivya P (@dhivyap)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/dellos9_config_module.html