f5networks.f5_modules.bigip_imish_config – Управление разделами расширенной конфигурации маршрутизации BIG-IP
Примечание
Этот плагин входит в коллекцию f5networks.f5_modules (версия 1.6.0).
Для его установки используйте: ansible-galaxy collection install f5networks.f5_modules.
Для использования в playbook укажите: f5networks.f5_modules.bigip_imish_config.
Новое в версии 1.0.0: of f5networks.f5_modules
Описание
- Этот модуль предоставляет реализацию для работы с разделами расширенной конфигурации маршрутизации детерминированным способом.
Примечание
Этот модуль имеет соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after список / элементы=строка | Упорядоченный набор команд для добавления в конец стека команд, если требуется внести изменения. Как и в случае с параметром before, это позволяет разработчику плейбука добавить набор команд, которые будут выполнены после набора команд. | ||
| allow_duplicates булево добавлен в 1.2.0 модуля f5networks.f5_modules |
| Разрешает отправку дублирующихся команд на устройство. Это необходимо для сценариев, где настраиваются семейства адресов. Используется только с параметром lines. | |
| backup булево |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением любых изменений.Файл резервной копии записывается в папку backup в корневом каталоге плейбука или в корневом каталоге роли, если плейбук является частью роли Ansible. Если папка не существует, она будет создана. | |
| backup_options словарь | Объект типа dict, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра является только для чтения, когда backup установлено в значение да. Если backup установлено в значение нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр указывает путь, заканчивающийся именем каталога, в котором будет храниться файл конфигурации резервной копии. Если каталог не существует, он будет создан. Имя файла – это либо значение filename, либо имя файла по умолчанию, как описано в параметрах filename. Если значение пути не указано, в текущей рабочей директории будет создан каталог backup, и файл конфигурации резервной копии будет скопирован в filename внутри каталога backup. | ||
| filename строка | Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время> | ||
| before список / элементы=строка | Упорядоченный набор команд для помещения в стек команд, если требуется внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением любых изменений, не влияя на то, как набор команд сопоставляется с системой. | ||
| diff_against строка |
| При использовании аргумента командной строки ansible-playbook --diff, модуль может генерировать разницы по различным источникам.Когда этот параметр настроен как startup, модуль вернёт разницу между running-config и startup-config. Когда этот параметр настроен как intended, модуль вернёт разницу между running-config и конфигурацией, предоставленной в аргументе intended_config. Когда этот параметр настроен как running, модуль вернёт разницу до и после running-config относительно любых изменений, внесённых в конфигурацию устройства. | |
| diff_ignore_lines список / элементы=строка | Используйте этот аргумент для указания одной или нескольких строк, которые должны быть проигнорированы во время сравнения. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. | ||
| intended_config строка | intended_config предоставляет основную конфигурацию, к которой должен соответствовать узел, и используется для проверки окончательной running-config.Этот аргумент не будет изменять никаких настроек на удалённом устройстве и используется исключительно для проверки соответствия текущей конфигурации устройства. При указании этого аргумента, задача также должна изменить значение diff_against и установить его в значение intended. | ||
| lines список / элементы=строка | Упорядоченный набор команд, которые должны быть настроены в разделе. Команды должны быть точно такими же, как и в running-config устройства. Обратите внимание на синтаксис команд конфигурации, поскольку некоторые команды автоматически изменяются анализатором конфигурации устройства. псевдонимы: команды | ||
| match строка |
| Указывает модулю, как выполнять сопоставление набора команд с текущей конфигурацией устройства. Если match установлен на строка, команды сопоставляются по строкам. Если match установлен на строго, строки команд сопоставляются по положению. Если match установлен на точно, строки команд должны точно совпадать. Наконец, если match установлен на нет, модуль не будет пытаться сравнить исходную конфигурацию с рабочей конфигурацией на удалённом устройстве. | |
| parents список / элементы=строка | Упорядоченный набор родителей, уникально определяющих раздел или иерархию, с которой должны сравниваться команды. Если аргумент parents опущен, команды сравниваются с набором команд верхнего уровня или глобальных команд. | ||
| provider словарь добавлен в 1.0.0 модуля f5networks.f5_modules | Объект типа dict, содержащий данные подключения. | ||
| auth_provider строка | Настраивает поставщика аутентификации для получения токенов аутентификации с удалённого устройства. Этот параметр действительно используется при работе с устройствами BIG-IQ. | ||
| no_f5_teem булево |
| Если yes, данные телеметрии TEEM не отправляются в F5.Вы можете опустить этот параметр, установив переменную среды F5_TEEM. | |
| password строка / обязательно | Пароль для учётной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_PASSWORD. псевдонимы: pass, pwd | ||
| server строка / обязательно | Хост BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_SERVER. | ||
| server_port целое число | Значение по умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_SERVER_PORT. | |
| timeout целое число | Устанавливает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку. | ||
| transport строка |
| Настраивает транспортное подключение, которое необходимо использовать при подключении к удалённому устройству. | |
| user строка / обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, установив переменную среды F5_USER. | ||
| validate_certs булево |
| Если no, сертификаты SSL не проверяются. Используйте только на контролируемых вами сайтах с самозаверяющимися сертификатами.Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS. | |
| replace строка |
| Указывает модулю способ выполнения конфигурации на устройстве. Если replace установлен на строка, изменённые строки отправляются на устройство в режиме конфигурации. Если replace установлен на блок, весь блок команды отправляется на устройство в режиме конфигурации, если какая-либо строка некорректна. | |
| route_domain строка | Значение по умолчанию: 0 | Домен маршрутизации, на котором управлять конфигурацией BGP. | |
| running_config строка | По умолчанию модуль подключается к удалённому устройству и извлекает текущую running-config, чтобы использовать её в качестве основы для сравнения с содержимым источника. Бывают случаи, когда вы не хотите, чтобы задача получала текущую running-config для каждой задачи в плейбуке. Аргумент running_config позволяет реализатору указать конфигурацию, которая должна использоваться в качестве базовой конфигурации для сравнения. псевдонимы: config | ||
| save_when string |
| При внесении изменений в конфигурацию устройства, изменения по умолчанию не копируются в энергонезависимую память. Если аргумент установлен в always, текущая конфигурация всегда будет скопирована в начальную конфигурацию, и флаг modified всегда будет установлен в True. Если аргумент установлен в modified, текущая конфигурация будет скопирована в начальную конфигурацию только в случае, если она изменилась с момента последней сохранения в начальную конфигурацию. Если аргумент установлен в никогда, текущая конфигурация никогда не будет скопирована в начальную конфигурацию. Если аргумент установлен в changed, текущая конфигурация будет скопирована в начальную конфигурацию только в том случае, если задача внесла изменения. | |
| src путь | Аргумент src указывает путь к файлу конфигурации, который необходимо загрузить на удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованной роли или плейбука. Этот аргумент взаимоисключающий с аргументами lines и parents. | ||
Примечания
Примечание
- Сокращённые команды НЕ идемпотентны, см. FAQ по сети.
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на https://www.ansible.com/integrations/networks/f5.
- Требуется версия ПО BIG-IP >= 12.
- Модули F5 изменяют только текущую конфигурацию продукта F5. Чтобы гарантировать сохранение конфигурации BIG-IP на диске, убедитесь, что включён хотя бы один task, использующий модуль f5networks.f5_modules.bigip_config, для сохранения текущей конфигурации. Обратитесь к документации модуля для правильного использования модуля для сохранения текущей конфигурации.
Примеры
- name: configure top level configuration and save it
bigip_imish_config:
lines: bfd slow-timer 2000
save_when: modified
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: diff the running-config against a provided config
bigip_imish_config:
diff_against: intended
intended_config: "{{ lookup('file', 'master.cfg') }}"
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: Add config to a parent block
bigip_imish_config:
lines:
- bgp graceful-restart restart-time 120
- redistribute kernel route-map rhi
- neighbor 10.10.10.11 remote-as 65000
- neighbor 10.10.10.11 fall-over bfd
- neighbor 10.10.10.11 remote-as 65000
- neighbor 10.10.10.11 fall-over bfd
parents: router bgp 64664
match: exact
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: Remove an existing acl before writing it
bigip_imish_config:
lines:
- access-list 10 permit 20.20.20.20
- access-list 10 permit 20.20.20.21
- access-list 10 deny any
before: no access-list 10
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: for idempotency, use full-form commands
bigip_imish_config:
lines:
# - desc My interface
- description My Interface
# parents: int ANYCAST-P2P-2
parents: interface ANYCAST-P2P-2
provider:
user: admin
password: secret
server: lb.mydomain.com
delegate_to: localhost
- name: configurable backup path
bigip_imish_config:
lines: bfd slow-timer 2000
backup: yes
provider:
user: admin
password: secret
server: lb.mydomain.com
backup_options:
filename: backup.cfg
dir_path: /home/user
delegate_to: localhost
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup yes | Полный путь к файлу резервной копии. Пример: /playbooks/ansible/backup/bigip_imish_config.2016-07-16@22:28:34 |
| commands список / элементы=строка | всегда | Набор команд, которые будут отправлены на удалённое устройство. Пример: ['interface ANYCAST-P2P-2', 'neighbor 20.20.20.21 remote-as 65000', 'neighbor 20.20.20.21 fall-over bfd'] |
| updates список / элементы=строка | всегда | Набор команд, которые будут отправлены на удалённое устройство. Пример: ['interface ANYCAST-P2P-2', 'neighbor 20.20.20.21 remote-as 65000', 'neighbor 20.20.20.21 fall-over bfd'] |
Авторы
- Tim Rupp (@caphrim007)
- Wojciech Wypior (@wojtek0806)
© 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/f5networks/f5_modules/bigip_imish_config_module.html