sandbox/drawings/cisco_ftd/ftd_rules.puml
2025-01-19 16:28:43 +03:00

149 lines
No EOL
3.8 KiB
Text

@startuml
!include ./schemes_setup.wsd
Title Cisco FTD pydantic rule scheme
class CiscoFTDPolicyPyModel {
action : str
applications : Optional[List]
destination_networks : Optional[List]
destination_ports : Optional[List]
destination_zones : Optional[List]
logging : Optional[]
name : str
position : int
rule_hits : int
safe_search : bool
source_networks : Optional[List]
source_ports : Optional[List]
source_zones : Optional[List]
time_range : Optional[]
url_entries : Optional[List]
usernames : Optional[List]
variable_set : str
}
class CiscoFTDLoggingModel {
device_connector_beginning : bool
device_connector_end : bool
device_connector_files : bool
enabled : bool
}
CiscoFTDPolicyPyModel::logging o-- CiscoFTDLoggingModel
class CiscoFTDZonePyModel {
name : str
}
CiscoFTDPolicyPyModel::source_zones o-- CiscoFTDZonePyModel
CiscoFTDPolicyPyModel::destination_zones o-- CiscoFTDZonePyModel
class CiscoFTDURLEntryPyModel {
name : str
url : str
}
CiscoFTDPolicyPyModel::url_entries o-- CiscoFTDURLEntryPyModel
class CiscoFTDUsernamePyModel {
username : str
}
CiscoFTDPolicyPyModel::usernames o-- CiscoFTDUsernamePyModel
package ports {
class CiscoFTDPortPyModel {
name : str
port : Union[]
protocol : int
}
CiscoFTDPolicyPyModel::source_ports o-- CiscoFTDPortPyModel
CiscoFTDPolicyPyModel::destination_ports o-- CiscoFTDPortPyModel
class CiscoFTDPortSingleValuePyModel {
value : int
}
CiscoFTDPortPyModel::port o-- CiscoFTDPortSingleValuePyModel
class CiscoFTDPortRangeValuePyModel {
end : int
start : int
}
CiscoFTDPortPyModel::port o-- CiscoFTDPortRangeValuePyModel
}
package time_range{
class CiscoFTDTimeRangePyModel {
eff_end_datetime : Optional[str]
eff_start_datetime : Optional[str]
name : str
time_range : Union[]
time_range_type
}
CiscoFTDPolicyPyModel::time_range o-- CiscoFTDTimeRangePyModel
class CiscoFTDTimeRangeRangeIntervalPyModel {
end_day : Optional[str]
end_time : Optional[str]
start_day : Optional[str]
start_time : Optional[str]
}
CiscoFTDTimeRangeRangeIntervalPyModel o-- CiscoFTDTimeRangePyModel::time_range
class CiscoFTDTimeRangeDailyIntervalPyModel {
days : Optional[str]
end_time : Optional[str]
start_time : Optional[str]
}
CiscoFTDTimeRangeDailyIntervalPyModel o-- CiscoFTDTimeRangePyModel::time_range
}
package source_destinations {
class CiscoFTDNetworkRootPyModel {
name : str
object_type: Enum
}
CiscoFTDPolicyPyModel::source_networks o-- CiscoFTDNetworkRootPyModel
CiscoFTDPolicyPyModel::destination_networks o-- CiscoFTDNetworkRootPyModel
class CiscoFTDNetworkCountriesGroupPyModel {
countries_count : int
}
CiscoFTDNetworkRootPyModel <|-- CiscoFTDNetworkCountriesGroupPyModel
class CiscoFTDNetworkCountryPyModel {
}
CiscoFTDNetworkRootPyModel <|-- CiscoFTDNetworkCountryPyModel
class CiscoFTDNetworkFQDNObjectPyModel {
fqdn_address : str
}
CiscoFTDNetworkRootPyModel <|-- CiscoFTDNetworkFQDNObjectPyModel
class CiscoFTDNetworkGroupPyModel {
}
CiscoFTDNetworkRootPyModel <|-- CiscoFTDNetworkGroupPyModel
class CiscoFTDNetworkIPv4NetworkPyModel {
address : str
netmask : Optional[int]
}
CiscoFTDNetworkRootPyModel <|-- CiscoFTDNetworkIPv4NetworkPyModel
class CiscoFTDNetworkIPv6NetworkPyModel {
address : str
prefix_length : Optional[int]
}
CiscoFTDNetworkRootPyModel <|-- CiscoFTDNetworkIPv6NetworkPyModel
class CiscoFTDNetworkRangePyModel {
end_address : str
start_address : str
}
CiscoFTDNetworkRootPyModel <|-- CiscoFTDNetworkRangePyModel
}
@enduml