from typing import Any, Dict, List, Literal, Optional, Union
GlobalOptionTypeDef = Literal["global"]
DefaultActionTypeDef = Literal["drop", "pass"]
SequencesBaseActionDef = Literal["drop", "inspect", "pass"]
VariableOptionTypeDef = Literal["variable"]
Value = Literal[
"ABW",
"AF",
"AFG",
"AGO",
"AIA",
"ALA",
"ALB",
"AN",
"AND",
"ANT",
"ARE",
"ARG",
"ARM",
"AS",
"ASM",
"ATA",
"ATF",
"ATG",
"AUS",
"AUT",
"AZE",
"BDI",
"BEL",
"BEN",
"BES",
"BFA",
"BGD",
"BGR",
"BHR",
"BHS",
"BIH",
"BLM",
"BLR",
"BLZ",
"BMU",
"BOL",
"BRA",
"BRB",
"BRN",
"BTN",
"BVT",
"BWA",
"CAF",
"CAN",
"CCK",
"CHE",
"CHL",
"CHN",
"CIV",
"CMR",
"COD",
"COG",
"COK",
"COL",
"COM",
"CPV",
"CRI",
"CUB",
"CUW",
"CXR",
"CYM",
"CYP",
"CZE",
"DEU",
"DJI",
"DMA",
"DNK",
"DOM",
"DZA",
"ECU",
"EGY",
"ERI",
"ESH",
"ESP",
"EST",
"ETH",
"EU",
"FIN",
"FJI",
"FLK",
"FRA",
"FRO",
"FSM",
"GAB",
"GBR",
"GEO",
"GGY",
"GHA",
"GIB",
"GIN",
"GLP",
"GMB",
"GNB",
"GNQ",
"GRC",
"GRD",
"GRL",
"GTM",
"GUF",
"GUM",
"GUY",
"HKG",
"HMD",
"HND",
"HRV",
"HTI",
"HUN",
"IDN",
"IMN",
"IND",
"IOT",
"IRL",
"IRN",
"IRQ",
"ISL",
"ISR",
"ITA",
"JAM",
"JEY",
"JOR",
"JPN",
"KAZ",
"KEN",
"KGZ",
"KHM",
"KIR",
"KNA",
"KOR",
"KWT",
"LAO",
"LBN",
"LBR",
"LBY",
"LCA",
"LIE",
"LKA",
"LSO",
"LTU",
"LUX",
"LVA",
"MAC",
"MAF",
"MAR",
"MCO",
"MDA",
"MDG",
"MDV",
"MEX",
"MHL",
"MKD",
"MLI",
"MLT",
"MMR",
"MNE",
"MNG",
"MNP",
"MOZ",
"MRT",
"MSR",
"MTQ",
"MUS",
"MWI",
"MYS",
"MYT",
"NA",
"NAM",
"NCL",
"NER",
"NFK",
"NGA",
"NIC",
"NIU",
"NLD",
"NOR",
"NPL",
"NRU",
"NZL",
"OC",
"OMN",
"PAK",
"PAN",
"PCN",
"PER",
"PHL",
"PLW",
"PNG",
"POL",
"PRI",
"PRK",
"PRT",
"PRY",
"PSE",
"PYF",
"QAT",
"REU",
"ROU",
"RUS",
"RWA",
"SA",
"SAU",
"SDN",
"SEN",
"SGP",
"SGS",
"SHN",
"SJM",
"SLB",
"SLE",
"SLV",
"SMR",
"SOM",
"SPM",
"SRB",
"SSD",
"STP",
"SUR",
"SVK",
"SVN",
"SWE",
"SWZ",
"SXM",
"SYC",
"SYR",
"TCA",
"TCD",
"TGO",
"THA",
"TJK",
"TKL",
"TKM",
"TLS",
"TON",
"TTO",
"TUN",
"TUR",
"TUV",
"TWN",
"TZA",
"UGA",
"UKR",
"UMI",
"URY",
"USA",
"UZB",
"VAT",
"VCT",
"VEN",
"VGB",
"VIR",
"VNM",
"VUT",
"WLF",
"WSM",
"YEM",
"ZAF",
"ZMB",
"ZWE",
]
NgfirewallValue = Literal[
"802-11-iapp",
"ace-svr",
"aol",
"appleqtc",
"bgp",
"biff",
"bootpc",
"bootps",
"cddbp",
"cifs",
"cisco-fna",
"cisco-net-mgmt",
"cisco-svcs",
"cisco-sys",
"cisco-tdp",
"cisco-tna",
"citrix",
"citriximaclient",
"clp",
"creativepartnr",
"creativeserver",
"cuseeme",
"daytime",
"dbase",
"dbcontrol_agent",
"ddns-v3",
"dhcp-failover",
"discard",
"dns",
"dnsix",
"echo",
"entrust-svc-hand",
"entrust-svcs",
"exec",
"fcip-port",
"finger",
"ftp",
"ftps",
"gdoi",
"giop",
"gopher",
"gtpv0",
"gtpv1",
"h225ras",
"h323",
"h323callsigalt",
"hp-alarm-mgr",
"hp-collector",
"hp-managed-node",
"hsrp",
"http",
"https",
"ica",
"icabrowser",
"icmp",
"ident",
"igmpv3lite",
"imap",
"imap3",
"imaps",
"ipass",
"ipsec-msft",
"ipx",
"irc",
"irc-serv",
"ircs",
"ircu",
"isakmp",
"iscsi",
"iscsi-target",
"kazaa",
"kerberos",
"kermit",
"l2tp",
"ldap",
"ldap-admin",
"ldaps",
"login",
"lotusmtap",
"lotusnote",
"mgcp",
"microsoft-ds",
"ms-cluster-net",
"ms-dotnetster",
"ms-sna",
"ms-sql",
"ms-sql-m",
"msexch-routing",
"msnmsgr",
"msrpc",
"mysql",
"n2h2server",
"ncp",
"net8-cman",
"netbios-dgm",
"netbios-ns",
"netshow",
"netstat",
"nfs",
"nntp",
"ntp",
"oem-agent",
"oracle",
"oracle-em-vp",
"oraclenames",
"orasrv",
"pcanywheredata",
"pcanywherestat",
"pop3",
"pop3s",
"pptp",
"pwdgen",
"qmtp",
"r-winsock",
"radius",
"rdb-dbs-disp",
"realmedia",
"realsecure",
"router",
"rsvd",
"rsvp-encap",
"rsvp_tunnel",
"rtc-pm-port",
"rtelnet",
"rtsp",
"send",
"shell",
"sip",
"sip-tls",
"skinny",
"sms",
"smtp",
"snmp",
"snmptrap",
"socks",
"sql-net",
"sqlserv",
"sqlsrv",
"ssh",
"sshell",
"ssp",
"streamworks",
"stun",
"sunrpc",
"syslog",
"syslog-conn",
"tacacs",
"tacacs-ds",
"tarantella",
"tcp",
"telnet",
"telnets",
"tftp",
"time",
"timed",
"tr-rsrb",
"ttc",
"udp",
"uucp",
"vdolive",
"vqp",
"webster",
"who",
"wins",
"x11",
"xdmcp",
"ymsgr",
]
SequencesActionsTypeDef = Literal["connectionEvents", "log"]
class CreateNgfirewallProfileParcelPostResponse:
parcel_id: Optional[str]
class OneOfDefaultActionTypeOptionsDef:
option_type: GlobalOptionTypeDef
value: DefaultActionTypeDef
class OneOfSequencesSequenceIdOptionsDef:
option_type: GlobalOptionTypeDef
value: str
class OneOfSequencesSequenceNameOptionsDef:
option_type: GlobalOptionTypeDef
value: str
class OneOfSequencesBaseActionOptionsDef:
option_type: GlobalOptionTypeDef
value: SequencesBaseActionDef
class OneOfSequencesSequenceTypeOptionsDef:
option_type: GlobalOptionTypeDef
value: str
class RefIdArrayValue:
option_type: GlobalOptionTypeDef
value: List[str]
class ListDef:
ref_id: RefIdArrayValue
class Ipv4InputDef1:
option_type: GlobalOptionTypeDef
value: List[str]
class Ipv4InputDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class Ipv4MatchDef:
ipv4_value: Union[Ipv4InputDef1, Ipv4InputDef2]
class FqdnInputDef1:
option_type: GlobalOptionTypeDef
value: List[str]
class FqdnMatchDef:
fqdn_value: Union[FqdnInputDef1, Ipv4InputDef2]
class SourcePortInputDef1:
option_type: GlobalOptionTypeDef
value: List[Union[str, str]]
class SourcePortMatchDef:
port_value: Union[SourcePortInputDef1, Ipv4InputDef2]
class AppMatchDef:
option_type: GlobalOptionTypeDef
value: List[str]
class DestinationPortInputDef1:
option_type: GlobalOptionTypeDef
value: List[Union[str, str]]
app: Optional[AppMatchDef]
class DestinationPortMatchDef:
port_value: Union[DestinationPortInputDef1, Ipv4InputDef2]
class GeoLocationMatchDef1:
option_type: GlobalOptionTypeDef
value: List[Value] # pytype: disable=annotation-type-mismatch
class IdentityUserMatchDef:
option_type: GlobalOptionTypeDef
value: List[str]
class IdentityUsergroupMatchDef:
option_type: GlobalOptionTypeDef
value: List[str]
class ProtocolMatchDef:
option_type: GlobalOptionTypeDef
value: List[str]
app: Optional[AppMatchDef]
class ProtocolNameMatchDef:
option_type: GlobalOptionTypeDef
value: List[
NgfirewallValue
] # pytype: disable=annotation-type-mismatch
class Entries:
app: Optional[AppMatchDef]
app_family: Optional[AppMatchDef]
app_list: Optional[ListDef]
app_list_flat: Optional[ListDef]
destination_data_prefix_list: Optional[ListDef]
destination_fqdn: Optional[FqdnMatchDef]
destination_fqdn_list: Optional[ListDef]
destination_geo_location: Optional[
Union[GeoLocationMatchDef1, Ipv4InputDef2]
]
destination_geo_location_list: Optional[ListDef]
destination_ip: Optional[Ipv4MatchDef]
destination_port: Optional[DestinationPortMatchDef]
destination_port_list: Optional[ListDef]
destination_scalable_group_tag_list: Optional[ListDef]
destination_security_group: Optional[ListDef]
protocol: Optional[ProtocolMatchDef]
protocol_name: Optional[ProtocolNameMatchDef]
protocol_name_list: Optional[ListDef]
rule_set_list: Optional[ListDef]
source_data_prefix_list: Optional[ListDef]
source_geo_location: Optional[
Union[GeoLocationMatchDef1, Ipv4InputDef2]
]
source_geo_location_list: Optional[ListDef]
source_identity_list: Optional[ListDef]
source_identity_user: Optional[IdentityUserMatchDef]
source_identity_usergroup: Optional[IdentityUsergroupMatchDef]
source_ip: Optional[Ipv4MatchDef]
source_port: Optional[SourcePortMatchDef]
source_port_list: Optional[ListDef]
source_scalable_group_tag_list: Optional[ListDef]
source_security_group: Optional[ListDef]
class Match:
entries: List[Entries]
class OneOfSequencesActionsTypeOptionsDef:
option_type: GlobalOptionTypeDef
value: SequencesActionsTypeDef # pytype: disable=annotation-type-mismatch
class OneOfSequencesActionsParameterOptionsDef:
option_type: GlobalOptionTypeDef
value: str
class Actions1:
parameter: OneOfSequencesActionsParameterOptionsDef
type_: OneOfSequencesActionsTypeOptionsDef
class Type:
option_type: GlobalOptionTypeDef
value: str
class RefId:
option_type: str
value: str
class Parameter:
ref_id: RefId
class Actions2:
parameter: Parameter
type_: Type
class OneOfdisableSequenceDef:
option_type: GlobalOptionTypeDef
value: bool
class Sequences:
# can be empty array or with type or parameter
actions: List[Union[Actions1, Actions2]]
base_action: OneOfSequencesBaseActionOptionsDef
match_: Match
sequence_id: OneOfSequencesSequenceIdOptionsDef
sequence_name: OneOfSequencesSequenceNameOptionsDef
sequence_type: OneOfSequencesSequenceTypeOptionsDef
disable_sequence: Optional[OneOfdisableSequenceDef]
class Data:
default_action_type: OneOfDefaultActionTypeOptionsDef
sequences: List[Sequences]
class CreateNgfirewallProfileParcelPostRequest:
"""
ngfirewall profile feature schema for POST request
"""
data: Data
description: str
name: str
contains_tls: Optional[bool]
contains_utd: Optional[bool]
# This is the documentation for POST request schema for ngfirewall profile feature
documentation: Optional[Any]
metadata: Optional[Any]
optimized: Optional[bool]