diff --git a/asa/cisco_connecter.py b/cisco/cisco_connecter.py similarity index 100% rename from asa/cisco_connecter.py rename to cisco/cisco_connecter.py diff --git a/asa/parsing_enhancment/access-list-parsers.txt b/cisco/parsing_enhancment/access-list-parsers.txt similarity index 100% rename from asa/parsing_enhancment/access-list-parsers.txt rename to cisco/parsing_enhancment/access-list-parsers.txt diff --git a/asa/parsing_enhancment/access-list-values.txt b/cisco/parsing_enhancment/access-list-values.txt similarity index 100% rename from asa/parsing_enhancment/access-list-values.txt rename to cisco/parsing_enhancment/access-list-values.txt diff --git a/asa/parsing_enhancment/access-list.txt b/cisco/parsing_enhancment/access-list.txt similarity index 100% rename from asa/parsing_enhancment/access-list.txt rename to cisco/parsing_enhancment/access-list.txt diff --git a/asa/parsing_enhancment/main.py b/cisco/parsing_enhancment/main.py similarity index 100% rename from asa/parsing_enhancment/main.py rename to cisco/parsing_enhancment/main.py diff --git a/asa/policies_crud/api_template.json b/cisco/policies_crud/api_template.json similarity index 100% rename from asa/policies_crud/api_template.json rename to cisco/policies_crud/api_template.json diff --git a/asa/policies_parser.tfsm b/cisco/policies_parser.tfsm similarity index 100% rename from asa/policies_parser.tfsm rename to cisco/policies_parser.tfsm diff --git a/asa/policies_samples/1 b/cisco/policies_samples/1 similarity index 100% rename from asa/policies_samples/1 rename to cisco/policies_samples/1 diff --git a/asa/policies_samples/2 b/cisco/policies_samples/2 similarity index 100% rename from asa/policies_samples/2 rename to cisco/policies_samples/2 diff --git a/asa/recursion_groups.py b/cisco/recursion_groups.py similarity index 100% rename from asa/recursion_groups.py rename to cisco/recursion_groups.py diff --git a/asa/recursion_services.py b/cisco/recursion_services.py similarity index 100% rename from asa/recursion_services.py rename to cisco/recursion_services.py diff --git a/asa/test.log b/cisco/test.log similarity index 100% rename from asa/test.log rename to cisco/test.log diff --git a/cisco/unified_crud.py b/cisco/unified_crud.py new file mode 100644 index 0000000..149ebc7 --- /dev/null +++ b/cisco/unified_crud.py @@ -0,0 +1,53 @@ +s_1 = [ + "user", + "password", + "enable_password", + "id", + "status", + "ip", + "name", + "manufacturer", + "port", + "user", + "password", + "description", + "cisco_type", + "connection_type", + "enable_password", + "rsa_limit", + "last_status_change", + "protocol", + "administrators", + "group", + "status", + "manufacturer", + "last_status_change", + "connection_type", +] + +s_2 = [ + "username", + "password", + "id", + "status", + "ip", + "name", + "manufacturer", + "port", + "username", + "password", + "description", + "connection_type", + "last_status_change", + "protocol", + "administrators", + "group", + "status", + "manufacturer", + "last_status_change", + "connection_type", +] + +print("\n".join(set(s_1 + s_2))) + +print([i for i in range(0,20)]) diff --git a/drawings/cisco_ftd/create_strategy.puml b/drawings/cisco_ftd/create_strategy.puml index 39b7d03..2ae186b 100644 --- a/drawings/cisco_ftd/create_strategy.puml +++ b/drawings/cisco_ftd/create_strategy.puml @@ -1,22 +1,22 @@ @startuml -struct CiscoCreateData { - + ip: str - + login: str - + password: str - + port: str = DEFAULT_SSH_PORT - + device_name: str - + device_protocol: str - + manufacturer: str = CISCO_ASA_MANUFACTURER -} +' struct CiscoCreateData { +' + ip: str +' + login: str +' + password: str +' + port: str = DEFAULT_SSH_PORT +' + device_name: str +' + device_protocol: str +' + manufacturer: str = CISCO_ASA_MANUFACTURER +' } -struct CiscoAuthenticationCheckDataPyModel { - + ip: str - + manufacturer: NOT NEEDED - SET CISCO - + login: str - + password: str - + port: int - + device_name: str -} +' struct CiscoAuthenticationCheckDataPyModel { +' device_name : str +' ip : str +' login : str +' manufacturer : str +' password : str +' port : int +' } package CiscoApp { @@ -61,9 +61,13 @@ package CiscoApp { CiscoASAUnifiedStrategy ..|> CiscoUnifiedStrategyABC class CiscoUnifiedManager { - + cisco_create_strategy: CiscoCreateStrategyABC - + create_cisco_instance(cisco_create_data: Dict) - + check_authentication(cisco_connect_data: Dict) + + _cisco_strategy : Optional[CiscoUnifiedStrategyABC] + + cisco_strategy + + __init__(cisco_strategy: Optional[CiscoUnifiedStrategyABC]) -> None + # _check_strategy_existance() + + check_authentiaction(cisco_connect_data: Dict) -> bool + + create_cisco_instance(cisco_create_data: Dict) -> Union[Cisco, CiscoFTD] + + set_strategy_by_device_name(device_name: str) } CiscoUnifiedStrategyABC --* CiscoUnifiedManager CiscoUnifiedManager --* .PingServices.FirewallAuthStatusService diff --git a/drawings/cisco_ftd/ftd_backend_service.puml b/drawings/cisco_ftd/ftd_backend_service.puml index 2831c98..7372abe 100644 --- a/drawings/cisco_ftd/ftd_backend_service.puml +++ b/drawings/cisco_ftd/ftd_backend_service.puml @@ -4,14 +4,16 @@ !startsub FTDBackendService class CiscoFTDBackendService { -+ ftd_instance: CiscoFTD -+ set_ftd_status(status_to_set: str) -> CiscoFTD -+ form_cache_prefix() -> str -+ flush_cache() -+ set_cache_update_mutex() -+ get_cache_update_mutex() -> str -+ free_cache_update_mutex() -# _check_connection(**kwargs) + + CLASS_NAME : str + + ftd_instance : CiscoFTD + + __init__(ftd_instance: CiscoFTD) -> None + # _check_connection(check_connection_data: Dict) -> None + + flush_cache() -> None + + form_cache_prefix() -> str + + free_cache_update_mutex() -> None + + get_cache_update_mutex() -> str + + set_cache_update_mutex() -> None + + set_ftd_status(status_to_set: str) -> str } !endsub diff --git a/drawings/cisco_ftd/ftd_operation_performers.puml b/drawings/cisco_ftd/ftd_operation_performers.puml index 296e41c..80ebe6a 100644 --- a/drawings/cisco_ftd/ftd_operation_performers.puml +++ b/drawings/cisco_ftd/ftd_operation_performers.puml @@ -9,22 +9,24 @@ interface CiscoFTDFactoryInterfaces { !startsub CISCOFTDSSHOPERATIONFACTORY class CiscoFTDSSHOperationFactory { + + CLASS_NAME : str + ftd_instance: CiscoFTD - + request_data: Dict - + perform_request() - + @property\nftd_connect_data() -> Dict + + request_data : Optional[Dict] + + __init__(ftd_instance: CiscoFTD, request_data: Optional[Dict]) -> None # _parse_client_data(client_data: Dict) -> Dict - # _parse_ftd_response(ftd_response: str) -> Dict - # _prepare_operation() -> CiscoFTDSSHOperation + # _parse_ftd_response(ftd_response: CiscoFTDSSHOperationCommandsListPyModel) -> Dict + + perform_request() -> Dict + + prepare_operation() -> CiscoFTDSSHOperation } !endsub !startsub CISCOFTDCACHEOPERATIONFACTORY class CiscoFTDCacheOperationFactory { - + ftd_instance: CiscoFTD - + request_data: Dict - + perform_request() + + ftd_instance + + request_data : Optional[Dict] + + __init__(ftd_instance: CiscoFTD, request_data: Optional[Dict]) -> None # _get_config() -> str + + perform_request() -> List[Dict] } !endsub diff --git a/drawings/cisco_ftd/ftd_pydantic.puml b/drawings/cisco_ftd/ftd_pydantic.puml index 0ec393a..e059951 100644 --- a/drawings/cisco_ftd/ftd_pydantic.puml +++ b/drawings/cisco_ftd/ftd_pydantic.puml @@ -35,4 +35,24 @@ struct CiscoFTDCreateDataModel <<(P,#fc0373) Pydantic Model>> { CiscoFTDSSHOperationCommandModel ..> CiscoFTDSSHOperationCommandsListModel +class CiscoUnifiedCreateSerializer { + + administrators + + cisco_type + + connection_type + + description + + device_name + + enable_password + + group + + ip + + last_status_change + + manufacturer + + name + + password + + port + + protocol + + rsa_limit + + status + + user + + username +} @enduml \ No newline at end of file diff --git a/drawings/cisco_ftd/ftd_ssh_strategy.puml b/drawings/cisco_ftd/ftd_ssh_strategy.puml index 7aadf9e..3157e49 100644 --- a/drawings/cisco_ftd/ftd_ssh_strategy.puml +++ b/drawings/cisco_ftd/ftd_ssh_strategy.puml @@ -4,10 +4,13 @@ !includesub ./ftd_pydantic.puml!CISCO_FTD_PYDANTIC_CHECK_CONNECTION_DATA class CiscoFTDSSHOperation { - + connect_data: Dict - + commands: Dict - + request_data: Dict - + perform_operation() + + cisco_connect_data + + commands_list + + custom_performer : Optional[Callable] + + request_data : Optional[Dict] + + __init__(cisco_connect_data: Dict,\n commands_list: Dict[str, List[Dict]],\n request_data: Optional[Dict],\n custom_performer: Optional[Callable]\n) -> None + # _prepare_ftd_session() -> CiscoFtdSSH + + perform_operation() -> CiscoFTDSSHOperationCommandsListPyModel } CiscoFTDSSHOperation --> CiscoFTDAuthenticationModel