84 lines
No EOL
2.7 KiB
Text
84 lines
No EOL
2.7 KiB
Text
@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 CiscoAuthenticationCheckDataPyModel {
|
||
+ ip: str
|
||
+ manufacturer: NOT NEEDED - SET CISCO
|
||
+ login: str
|
||
+ password: str
|
||
+ port: int
|
||
+ device_name: str
|
||
}
|
||
|
||
|
||
package CiscoApp {
|
||
class AsaBackendService {
|
||
+ {static} create_cisco_asa_insatnce(\n name: str,\n ip: str,\n user: str,\n password: str,\n enable_password: str,\n connection_type: Optional[str] = CONNECTION_CLI_TYPE,\n protocol: Optional[str] = CONNECTION_SSH_PROTOCOL,\n rsa_limit: Optional[int] = 0,\n port: Optional[str] = DEFAULT_ASA_PORT,\n description: Optional[str] = "",\n administrators: Optional[list] = None\n)
|
||
}
|
||
AsaBackendService --> CiscoASAUnifiedStrategy : "Использование статического\nметода create_cisco_asa_instance"
|
||
|
||
class CiscoFTDRepository {
|
||
+ {static} create_instance(create_data: Dict)
|
||
}
|
||
CiscoFTDRepository --> CiscoFTDUnifiedStrategy : "Использование статического\nметода create_instance"
|
||
|
||
class CiscoFTDCreateDataModel {
|
||
name: str
|
||
ip: str
|
||
username: str
|
||
password: str
|
||
connection_type: str = CONNECTION_CLI_TYPE
|
||
port: int = DEFAULT_FTD_PORT
|
||
description: str = ""
|
||
administrators: List[int] = []
|
||
}
|
||
CiscoFTDCreateDataModel --> CiscoFTDRepository : "Pydantic model\nдля валидации create_data"
|
||
|
||
abstract CiscoUnifiedStrategyABC{
|
||
+ create_instance(cisco_create_data: Dict)
|
||
+ check_authentication_status(cisco_connect_data: Dict)
|
||
}
|
||
|
||
|
||
class CiscoFTDUnifiedStrategy {
|
||
+ create_instance(cisco_create_data: Dict)
|
||
+ check_authentication_status(cisco_connect_data: Dict)
|
||
}
|
||
CiscoFTDUnifiedStrategy ..|> CiscoUnifiedStrategyABC
|
||
|
||
class CiscoASAUnifiedStrategy {
|
||
+ create_instance(cisco_create_data: Dict)
|
||
+ check_authentication_status(cisco_connect_data: Dict)
|
||
}
|
||
CiscoASAUnifiedStrategy ..|> CiscoUnifiedStrategyABC
|
||
|
||
class CiscoUnifiedManager {
|
||
+ cisco_create_strategy: CiscoCreateStrategyABC
|
||
+ create_cisco_instance(cisco_create_data: Dict)
|
||
+ check_authentication(cisco_connect_data: Dict)
|
||
}
|
||
CiscoUnifiedStrategyABC --* CiscoUnifiedManager
|
||
CiscoUnifiedManager --* .PingServices.FirewallAuthStatusService
|
||
}
|
||
|
||
package PingServices {
|
||
class FirewallAuthStatusService {
|
||
+ manufacturer: str
|
||
+ ip: str
|
||
+ login: str
|
||
+ password: str
|
||
+ port: str
|
||
+ device_name: Optional[str]
|
||
+ device_protocol: Optional[str]
|
||
}
|
||
}
|
||
|
||
@enduml |