sandbox/drawings/cisco asa/policies_serialization.wsd

34 lines
1.8 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@startuml
!define RESULT <font color="blue">result</font>
!define UNPARSED_RESULT <font color="green">unparsed_result</font>
start
:Получаем данные, обработанные\nTextFSM со списком правил ACL <font color="red">acl_entries</font>;
:Создаем два результирующих массива:
- RESULT для хранения хороших результатов
- UNPARSED_RESULT для хранения необработанных;
:Начинаем итерацию по <font color="red">acl_entries</font>;
repeat
:Берем следующий элемент из <font color="red">acl_entries</font> - <font color="purple">acl_entry</font>;
:Проверяем его содержание и в зависимости от\nнего обрабатываем соответственно;
if (<font color="purple">acl_entry</font> = ACL header)
:Пропускам элемент;
elseif (<font color="purple">acl_entry</font> = unparsed ACE)
:Записываем в список UNPARSED_RESULT;
elseif (<font color="purple">acl_entry</font> = ACE)
:Обрабатываем правило;
note
_parse_remark_acl_entry()
end note
:Добавляем обработанный результат в <font color="blue">results</font>;
elseif (<font color="purple">acl_entry</font> = Remark)
:Обрабатываем согласно правилам\nработы c Remark;
note
_parse_ace_acl_entry()
end note
:Добавляем обработанный результат в <font color="blue">results</font>;
endif
repeat while (В <font color="red">acl_entries</font> есть еще элементы?)
:Возвращаем RESULT, UNPARSED_RESULT;
stop
@enduml