Миграция ASA из ASDM в FMC, включая политику доступа. Одним из шагов для завершения проекта является миграция сетевых / сервисных объектов, их групп в FMC. Планирование создания объектов путем фильтрации объектов ASA (из конфигурации ASA) с помощью регулярных выражений и запуска сценария python в REST API. Теперь проблема, с которой я столкнулся в настоящее время, заключается в большом количестве данных для перемещения в FMC, более 3000 строк.
В настоящее время я пытаюсь найти шаблон регулярного выражения, который бы фильтровал многострочные строки и сопоставлял данные для API REST. Использование regex101 для этой задачи. С текущим шаблоном регулярных выражений я сопоставляю данные только для первых двух строк. Еще одна проблема, с которой я столкнулся, заключалась в том, что не во всех строках указывалось 'target eq', после чего регулярное выражение совпадает с 'port_no'.
Сможет ли кто-нибудь помочь с выражением регулярного выражения? В соответствии с текущим выражением регулярного выражения хотите сопоставить данные, которые идут после «службы группы объектов», «объекта обслуживания» и «назначения eq» ИЛИ, когда «назначения eq» нет?
Спасибо
Выражение регулярного выражения:
object-group service (?P<name>.+)(?:\n |.)service-object (?P<protocol>.+) destination eq (?P<port_no>\d{0,5} |\w{0,10}.+)\n
Данные для фильтрации:
object-group service DM_INLINE_SERVICE_8
service-object tcp destination eq ldap
service-object udp destination eq syslog
service-object object kerberos5-tcp
service-object object kerberos5-udp
service-object object ldap-udp
service-object udp destination eq domain
service-object object ldap-gcs
service-object object TCP_3268
service-object object TCP_3269
service-object object TCP_445
service-object tcp-udp destination eq domain
service-object tcp destination eq ldaps
service-object udp destination eq ntp
service-object object TCP_464
object-group network DM_INLINE_NETWORK_13
network-object object IN_V030_197_memcache_01
network-object object IN_V030_198_memcache_02