dellemc.os9.os9_config – Управление разделами конфигурации Dell EMC Networking OS9
Примечание
Этот плагин является частью коллекции dellemc.os9 (версия 1.0.3).
Для установки используйте: ansible-galaxy collection install dellemc.os9.
Для использования в playbook укажите: dellemc.os9.os9_config.
Обзор
- Конфигурации OS9 используют простой синтаксис блочного отступа для разделения конфигурации на секции. Этот модуль предоставляет реализацию для работы с секциями конфигурации OS9 детерминированным образом.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after список / элементы=строка | Упорядоченный набор команд для добавления в конец стека команд, если необходимо внести изменения. Аналогично before, это позволяет разработчику playbook добавить набор команд, которые будут выполнены после набора команд. | ||
| backup логическое |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением любых изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневом каталоге playbook. Если каталог не существует, он создаётся. | |
| backup_options словарь | Это объект типа dict, содержащий настраиваемые параметры, связанные с путём к файлу резервной копии. Значение этого параметра читается только при backup установлено в значение да, если backup установлено в нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр указывает путь, заканчивающийся именем каталога, в котором будет храниться файл резервной копии конфигурации. Если каталог не существует, он будет сначала создан, а имя файла будет либо значением filename, либо именем файла по умолчанию, как описано в параметрах filename. Если значение пути не задано, в текущей рабочей директории будет создан каталог backup, и резервная копия конфигурации будет скопирована в filename внутри каталога backup. | ||
| filename строка | Имя файла, используемое для хранения резервной копии конфигурации. Если имя файла не задано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>. | ||
| before список / элементы=строка | Упорядоченный набор команд, которые помещаются в стек команд, если необходимо внести изменения. Это позволяет разработчику playbook выполнить команды конфигурации до внесения каких-либо изменений без влияния на способ сопоставления набора команд с системой. | ||
| config строка | Модуль по умолчанию подключается к удалённому устройству и извлекает текущую конфигурацию running-config для использования в качестве основы для сравнения с содержимым источника. Бывают случаи, когда нет необходимости получать текущую конфигурацию running-config для каждой задачи в playbook. Параметр config позволяет разработчику передать конфигурацию для использования в качестве базовой конфигурации для сравнения. | ||
| lines список / элементы=строка | Упорядоченный набор команд, которые должны быть настроены в секции. Команды должны быть точно такими же, как и в текущей конфигурации running-config устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются парсером конфигурации устройства. Этот аргумент взаимоисключает с src. псевдонимы: команды | ||
| match строка |
| Указывает модулю способ сравнения набора команд с текущей конфигурацией устройства. Если match установлено в строка, команды сравниваются построчно. Если match установлено в строго, строки команд сравниваются относительно позиции. Если match установлено в точно, строки команд должны быть полным совпадением. Наконец, если match установлено в нет, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией running на удалённом устройстве. | |
| parents список / элементы=строка | Упорядоченный набор родительских элементов, которые однозначно идентифицируют секцию или иерархию, с которой следует сравнить команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||
| provider словарь | Объект типа dict, содержащий данные подключения. | ||
| auth_pass строка | Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это необходимо. Если authorize ложно, то этот аргумент ничего не делает. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTH_PASS. | ||
| authorize логическое |
| Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой каких-либо команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTHORIZE. | |
| host строка | Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение параметра host используется в качестве адреса назначения для транспорта. | ||
| password строка | Пароль для аутентификации сессии SSH на удалённом устройстве. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port целое число | Указывает порт для использования при построении подключения к удалённому устройству. | ||
| ssh_keyfile путь | Путь к файлу ключа ssh, используемого для аутентификации сессии SSH на удалённом устройстве. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Указывает таймаут бездействия (в секундах) для подключения. Полезно, если консоль зависает перед продолжением. Например, при сохранении конфигураций. | ||
| username строка | Имя пользователя для аутентификации сессии SSH на удалённом устройстве. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| replace строка |
| Указывает модулю способ выполнения конфигурации на устройстве. Если replace установлено в строка, изменённые строки отправляются на устройство в режиме конфигурации. Если replace установлено в блок, весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. | |
| save логическое |
| Параметр save инструктирует модуль сохранить конфигурацию running-config в startup-config по завершении работы модуля. Если указан режим проверки, этот аргумент игнорируется. | |
| src путь | Указывает путь к файлу, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путём на хосте Ansible или относительным путём от корневой директории playbook или роли. Этот аргумент взаимоисключает с lines. | ||
| update строка |
| Параметр update управляет тем, как обрабатываются операторы конфигурации на удалённом устройстве. Допустимые значения для параметра update — слияние и проверка. Когда вы устанавливаете этот параметр в слияние, изменения конфигурации сливаются с текущей конфигурацией running устройства. Когда вы устанавливаете этот параметр в проверка, изменения конфигурации определяются, но фактически не настраиваются на удалённом устройстве. | |
Примечания
Примечание
- Для работы данного модуля требуется Dell OS9 версии 9.10.0.1P13 или выше.
- Для этого модуля необходимо увеличить лимит скорости подключений SSH. Используйте следующую команду ip ssh connection-rate-limit 60 для настройки. Это также можно сделать с помощью модуля os9_config.
- Дополнительную информацию об использовании Ansible для управления устройствами Dell EMC Network см. на странице https://www.ansible.com/ansible-dell-networking.
Примеры
- os9_config:
lines: ['hostname {{ inventory_hostname }}']
provider: "{{ cli }}"
- os9_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
- os9_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
- os9_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/os9_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'] |
Авторы
- Dhivya P (@dhivyap)
© 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/dellemc/os9/os9_config_module.html