f5networks.f5_modules.bigip_imish_config – Управление расширенными секциями конфигурации маршрутизации BIG-IP
Примечание
Этот плагин входит в коллекцию f5networks.f5_modules (версия 1.7.1).
Для его установки используйте: ansible-galaxy collection install f5networks.f5_modules.
Для использования в плейбуке укажите: f5networks.f5_modules.bigip_imish_config.
Новое в версии 1.0.0: of f5networks.f5_modules
Обзор
- Этот модуль предоставляет реализацию для работы с расширенными секциями конфигурации маршрутизации детерминированным способом.
Примечание
У этого модуля есть соответствующий плагин действия.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| after список / элементы=строка | Упорядоченный набор команд, которые добавляются в конец стека команд, если требуется внести изменения. Так же, как и с параметром before, это позволяет разработчику playbook добавить набор команд, которые будут выполнены после набора команд. | ||
| allow_duplicates логический тип добавлен в 1.2.0 версии f5networks.f5_modules |
| Разрешает отправку дублирующихся команд на устройство. Это необходимо для сценариев, где настраиваются семейства адресов. Используется только с параметром lines. | |
| backup логический тип |
| Этот аргумент заставит модуль создать полную резервную копию текущей running-config с удаленного устройства перед внесением каких-либо изменений.Файл резервной копии записывается в папку backup в корневой директории playbook или корневой директории роли, если playbook является частью роли Ansible. Если директория не существует, она создается. | |
| backup_options словарь | Это объект типа dict, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра является только для чтения, когда backup установлено в да. Если backup установлено в нет, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр предоставляет путь, заканчивающийся именем директории, в которой будет храниться файл конфигурации резервной копии. Если директория не существует, она будет создана, а имя файла будет либо значением filename, либо значением по умолчанию, как описано в параметрах filename. Если значение пути не указано, будет создана директория backup в текущей рабочей директории, а резервная копия конфигурации будет скопирована в filename внутри директории backup. | ||
| filename строка | Имя файла, которое будет использоваться для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время> | ||
| before список / элементы=строка | Упорядоченный набор команд, которые добавляются в стек команд, если требуется внести изменения. Это позволяет разработчику playbook выполнить команды конфигурации перед внесением каких-либо изменений, не влияя на то, как набор команд сопоставляется с системой. | ||
| 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 для каждой задачи в playbook. Аргумент running_config позволяет разработчику передать конфигурацию в качестве базовой конфигурации для сравнения. алиасы: config | ||
| save_when string |
| При внесении изменений в конфигурацию устройства, изменения по умолчанию не копируются в энергонезависимую память. Если аргумент установлен в always, текущая конфигурация (running-config) всегда будет скопирована в стартовую конфигурацию (startup-config), и флаг modified всегда будет установлен в True. Если аргумент установлен в modified, текущая конфигурация будет скопирована в стартовую конфигурацию только в том случае, если она изменилась с момента последнего сохранения в стартовую конфигурацию. Если аргумент установлен в never, текущая конфигурация никогда не будет скопирована в стартовую конфигурацию. Если аргумент установлен в changed, текущая конфигурация будет скопирована в стартовую конфигурацию только в том случае, если задача внесла изменения. | |
| src путь | Аргумент src указывает путь к файлу конфигурации, который необходимо загрузить на удалённую систему. Путь может быть полным системным путем к файлу конфигурации, если значение начинается с /, или относительным к корню реализованной роли или книги сценариев. Этот аргумент взаимоисключает аргументы lines и parents. | ||
Примечания
Примечание
- Сокращённые команды НЕ являются идемпотентными, см. Вопросы и ответы по сети.
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на сайте https://www.ansible.com/integrations/networks/f5.
- Требуется версия ПО BIG-IP ≥ 12.
- Модули F5 работают только с текущей конфигурацией (running configuration) продукта F5. Чтобы убедиться, что специфическая для BIG-IP конфигурация сохраняется на диске, необходимо включить хотя бы одну задачу, использующую модуль 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/f5networks/f5_modules/bigip_imish_config_module.html