Updated Cisco FTD diagrams

This commit is contained in:
pro100ton 2024-11-25 18:14:05 +03:00
parent 1a3bc14a70
commit d87f78d3b0
18 changed files with 124 additions and 40 deletions

53
cisco/unified_crud.py Normal file
View file

@ -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)])

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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