ios_config - Управление разделами конфигурации Cisco IOS
Новая версия 2.1.
Краткое описание
- Конфигурации Cisco IOS используют простой синтаксис с отступами блоков для сегментации конфигурации на разделы. Этот модуль предоставляет реализацию для работы с разделами конфигурации IOS детерминированным способом.
Параметры
| параметр | обязательный | по умолчанию | выбор | комментарии | |||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| after | нет | Упорядоченный набор команд, которые нужно добавить в конец стека команд, если требуется внести изменения. Так же, как и с параметром before, это позволяет разработчику playbook добавить набор команд, которые будут выполнены после набора команд. | |||||||||||||||||||||||||||||||||||||||||||||||
| auth_pass | нет | none | Указывает пароль, который необходимо использовать, если требуется вход в привилегированный режим на удалённом устройстве. Если authorize имеет значение false, то этот аргумент ничего не делает. Если значение не указано в задаче, то используется значение переменной окружения ANSIBLE_NET_AUTH_PASS. | ||||||||||||||||||||||||||||||||||||||||||||||
| authorize | нет |
| Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой каких-либо команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, то используется значение переменной окружения ANSIBLE_NET_AUTHORIZE. | ||||||||||||||||||||||||||||||||||||||||||||||
| backup (добавлено в 2.2)
| нет |
| Этот аргумент заставит модуль создать полную резервную копию текущего running-config с удалённого устройства перед внесением каких-либо изменений. Файл резервной копии записывается в папку backup в корневом каталоге playbook. Если директория не существует, она создаётся. | ||||||||||||||||||||||||||||||||||||||||||||||
| before | нет | Упорядоченный набор команд, которые нужно поместить в стек команд, если требуется внести изменения. Это даёт разработчику playbook возможность выполнить команды конфигурации до внесения каких-либо изменений без влияния на способ сопоставления набора команд с системой. | |||||||||||||||||||||||||||||||||||||||||||||||
| defaults (добавлено в 2.2)
| нет |
| Этот аргумент указывает, собирать ли все значения по умолчанию при получении конфигурации работы удалённого устройства. При включении модуль получит текущую конфигурацию, выдав команду show running-config all. | ||||||||||||||||||||||||||||||||||||||||||||||
| diff_against (добавлено в 2.4)
| нет |
| При использовании аргумента командной строки ansible-playbook --diff, модуль может генерировать diffs против различных источников.Когда этот параметр настроен как startup, модуль вернёт diff текущей конфигурации (running-config) по отношению к конфигурации по умолчанию (startup-config). Когда этот параметр настроен как intended, модуль вернёт diff текущей конфигурации (running-config) по отношению к конфигурации, указанной в аргументе intended_config. Когда этот параметр настроен как running, модуль вернёт diff текущей конфигурации (running-config) до и после внесения изменений на устройстве. | ||||||||||||||||||||||||||||||||||||||||||||||
| diff_ignore_lines (добавлено в 2.4)
| нет | Используйте этот аргумент, чтобы указать одну или несколько строк, которые следует игнорировать во время diff. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | |||||||||||||||||||||||||||||||||||||||||||||||
| force | нет |
| Аргумент force указывает модулю не учитывать текущую конфигурацию устройства (running-config). При установке в значение true, это заставит модуль скопировать содержимое src на устройство без предварительной проверки, уже ли она настроена. Обратите внимание, что этот аргумент следует считать устаревшим. Для достижения эквивалентного результата установите match=none, который идемпотентен. Этот аргумент будет удалён в Ansible 2.6. | ||||||||||||||||||||||||||||||||||||||||||||||
| intended_config (добавлено в 2.4)
| нет | intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки конечной конфигурации работы (running-config) против неё. Этот аргумент не будет изменять какие-либо настройки на удалённом устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства заданной конфигурации. При указании этого аргумента, задача также должна изменить значение diff_against и установить его в значение intended. | |||||||||||||||||||||||||||||||||||||||||||||||
| lines | нет | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в конфигурации работы устройства (running-config). Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства. псевдонимы: commands | |||||||||||||||||||||||||||||||||||||||||||||||
| match | нет | line |
| Указывает модулю, как выполнять сопоставление набора команд с текущей конфигурацией устройства. Если match имеет значение line, команды сопоставляются по строкам. Если match имеет значение strict, строки команд сопоставляются с учётом позиции. Если match имеет значение exact, строки команд должны точно совпадать. Наконец, если match имеет значение none, модуль не будет пытаться сравнить исходную конфигурацию с конфигурацией работы на удалённом устройстве. | |||||||||||||||||||||||||||||||||||||||||||||
| multiline_delimiter (добавлено в 2.3)
| нет | @ | Этот аргумент используется при отправке многострочного элемента конфигурации на устройство IOS. Он указывает символ, который нужно использовать в качестве разделителя. Это относится только к действию конфигурации. | ||||||||||||||||||||||||||||||||||||||||||||||
| parents | нет | Упорядоченный набор родителей, которые однозначно идентифицируют раздел, с которым нужно сравнить команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальными командами. | |||||||||||||||||||||||||||||||||||||||||||||||
| provider | нет | Объект словаря, содержащий данные подключения. |
|||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||
| replace | нет | line |
| Указывает модулю способ выполнения конфигурации на устройстве. Если replace имеет значение line, то изменённые строки отправляются на устройство в режиме конфигурации. Если replace имеет значение block, то весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. | |||||||||||||||||||||||||||||||||||||||||||||
| running_config (добавлено в 2.4)
| нет | Модуль по умолчанию подключается к удалённому устройству и извлекает текущую конфигурацию (running-config) для использования в качестве базы для сравнения с содержимым источника. В некоторых случаях нежелательно запрашивать текущую конфигурацию (running-config) для каждой задачи в playbook. Аргумент running_config позволяет разработчику передать конфигурацию для использования в качестве базовой конфигурации для сравнения. псевдонимы: config | |||||||||||||||||||||||||||||||||||||||||||||||
| save (добавлено в 2.2)
| нет |
| Аргумент save указывает модулю сохранить текущую конфигурацию (running-config) в конфигурацию по умолчанию (startup-config) по окончании работы модуля. Если указан режим проверки (check mode), этот аргумент игнорируется.Этот параметр устарел начиная с Ansible 2.4 и будет удалён в Ansible 2.8. Используйте save_when вместо него. | ||||||||||||||||||||||||||||||||||||||||||||||
| save_when (added in 2.4)
| нет | никогда |
| При внесении изменений в конфигурацию устройства, изменения по умолчанию не копируются в энергонезависимую память. Использование этого аргумента изменит это поведение. Если аргумент установлен в всегда, то running-config всегда будет скопирован в startup-config, а флаг изменён всегда будет установлен в True. Если аргумент установлен в изменён, то running-config будет скопирован в startup-config только в том случае, если он изменился с момента последней записи в startup-config. Если аргумент установлен в никогда, то running-config никогда не будет скопирован в startup-config. Если аргумент установлен в изменён, то running-config будет скопирован в startup-config только в том случае, если задача внесла изменения. изменён был добавлен в Ansible 2.5. |
| src (added in 2.2)
| нет | Указывает путь к источнику файла, содержащему конфигурацию или шаблон конфигурации для загрузки. Путь к исходному файлу может быть полным путём на хосте Ansible или относительным путём от корневого каталога плейбука или роли. Этот аргумент несовместим с аргументом строки. |
Примеры
- name: configure top level configuration
ios_config:
lines: hostname {{ inventory_hostname }}
- name: configure interface settings
ios_config:
lines:
- description test interface
- ip address 172.31.1.1 255.255.255.0
parents: interface Ethernet1
- name: load new acl into device
ios_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
- name: check the running-config against master config
ios_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
- name: check the startup-config against the running-config
ios_config:
diff_against: startup
diff_ignore_lines:
- ntp clock .*
- name: save running to startup when modified
ios_config:
save_when: modified
Значения возврата
Общие значения возврата описаны здесь Значения возврата, следующие поля уникальны для данного модуля:
| имя | описание | возвращаемое | тип | пример |
|---|---|---|---|---|
| backup_path | Полный путь к резервной копии файла | когда backup равно да | строка | /playbooks/ansible/backup/ios_config.2016-07-16@22:28:34 |
| commands | Набор команд, которые будут отправлены на удалённое устройство | всегда | список | ['hostname foo', 'router ospf 1', 'router-id 1.1.1.1'] |
| updates | Набор команд, которые будут отправлены на удалённое устройство | всегда | список | ['hostname foo', 'router ospf 1', 'router-id 1.1.1.1'] |
Примечания
Примечание
- Тестировалось на IOS 15.6
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Информация о техническом обслуживании
Для получения дополнительной информации о поддержке данного модуля компанией Red Hat, обратитесь к knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если вы заинтересованы, прочитайте Информация о сообществе и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/ios_config_module.html