from typing import Any, Dict, List, Literal, Optional, Union
DefaultOptionTypeDef = Literal["default"]
ManagementVrfDef = Literal["Mgmt-intf"]
GlobalOptionTypeDef = Literal["global"]
VariableOptionTypeDef = Literal["variable"]
Ipv4SubnetMaskDef = Literal[
"0.0.0.0",
"128.0.0.0",
"192.0.0.0",
"224.0.0.0",
"240.0.0.0",
"248.0.0.0",
"252.0.0.0",
"254.0.0.0",
"255.0.0.0",
"255.128.0.0",
"255.192.0.0",
"255.224.0.0",
"255.240.0.0",
"255.252.0.0",
"255.254.0.0",
"255.255.0.0",
"255.255.128.0",
"255.255.192.0",
"255.255.224.0",
"255.255.240.0",
"255.255.248.0",
"255.255.252.0",
"255.255.254.0",
"255.255.255.0",
"255.255.255.128",
"255.255.255.192",
"255.255.255.224",
"255.255.255.240",
"255.255.255.248",
"255.255.255.252",
"255.255.255.254",
"255.255.255.255",
]
class OneOfVrfNameOptionsDef:
option_type: DefaultOptionTypeDef
value: (
ManagementVrfDef # pytype: disable=annotation-type-mismatch
)
class OneOfVpnNameOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfVpnNameOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfVpnNameOptionsDef3:
option_type: DefaultOptionTypeDef
class OneOfIpAddressOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpAddressOptionsDef2:
option_type: GlobalOptionTypeDef
value: Any
class Dns:
ip_address: Union[
OneOfIpAddressOptionsDef1, OneOfIpAddressOptionsDef2
]
class OneOfHostNameOptionsWithoutDefault1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfHostNameOptionsWithoutDefault2:
option_type: GlobalOptionTypeDef
value: str
class OneOfListOfIpOptionsWithoutDefault1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfListOfIpOptionsWithoutDefault2:
option_type: GlobalOptionTypeDef
value: List[Union[Any, Any]]
class HostMapping:
host_name: Union[
OneOfHostNameOptionsWithoutDefault1,
OneOfHostNameOptionsWithoutDefault2,
]
list_of_ip: Union[
OneOfListOfIpOptionsWithoutDefault1,
OneOfListOfIpOptionsWithoutDefault2,
]
class OneOfIpV4AddressOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpV4AddressOptionsDef2:
option_type: GlobalOptionTypeDef
value: Any
class OneOfIpV4SubnetMaskOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpV4SubnetMaskOptionsDef2:
option_type: GlobalOptionTypeDef
value: (
Ipv4SubnetMaskDef # pytype: disable=annotation-type-mismatch
)
class Prefix:
"""
Prefix
"""
ip_address: Union[
OneOfIpV4AddressOptionsDef1, OneOfIpV4AddressOptionsDef2
]
subnet_mask: Union[
OneOfIpV4SubnetMaskOptionsDef1, OneOfIpV4SubnetMaskOptionsDef2
]
class OneOfIpV4AddressOptionsWithoutDefault1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpV4AddressOptionsWithoutDefault2:
option_type: GlobalOptionTypeDef
value: Any
class OneOfIpv4NextHopDistanceOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class OneOfIpv4NextHopDistanceOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class RefId:
option_type: GlobalOptionTypeDef
value: str
class OneOfRefIdOptionsDef1:
ref_id: RefId
class OneOfRefIdOptionsDef2:
option_type: DefaultOptionTypeDef
class NextHop:
address: Union[
OneOfIpV4AddressOptionsWithoutDefault1,
OneOfIpV4AddressOptionsWithoutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
OneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
tracker_id: Union[OneOfRefIdOptionsDef1, OneOfRefIdOptionsDef2]
class NextHopContainer:
# IPv4 Route Gateway Next Hop
next_hop: Optional[List[NextHop]]
class OneOfIpRoute1:
next_hop_container: NextHopContainer
class OneOfIpv4V6RouteNull0OptionsWithoutVariable1:
option_type: GlobalOptionTypeDef
value: bool
class OneOfIpv4V6RouteNull0OptionsWithoutVariable2:
option_type: DefaultOptionTypeDef
value: bool
class OneOfIpRoute2:
null0: Union[
OneOfIpv4V6RouteNull0OptionsWithoutVariable1,
OneOfIpv4V6RouteNull0OptionsWithoutVariable2,
]
distance: Optional[
Union[
OneOfIpv4NextHopDistanceOptionsDef1,
OneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
]
class OneOfIpv4RouteDhcpOptionsWithoutVariable1:
option_type: GlobalOptionTypeDef
value: bool
class OneOfIpv4RouteDhcpOptionsWithoutVariable2:
option_type: DefaultOptionTypeDef
value: bool
class OneOfIpRoute3:
dhcp: Union[
OneOfIpv4RouteDhcpOptionsWithoutVariable1,
OneOfIpv4RouteDhcpOptionsWithoutVariable2,
]
distance: Optional[
Union[
OneOfIpv4NextHopDistanceOptionsDef1,
OneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
]
class OneOfVrfInterfaceNameOptionsNoDefaultDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfVrfInterfaceNameOptionsNoDefaultDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class ManagementVrfNextHop:
address: Union[
OneOfIpV4AddressOptionsWithoutDefault1,
OneOfIpV4AddressOptionsWithoutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
OneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
class IpStaticRouteInterface:
interface_name: Union[
OneOfVrfInterfaceNameOptionsNoDefaultDef1,
OneOfVrfInterfaceNameOptionsNoDefaultDef2,
]
next_hop: List[ManagementVrfNextHop]
class InterfaceContainer:
ip_static_route_interface: List[IpStaticRouteInterface]
class OneOfIpRoute4:
interface_container: InterfaceContainer
class Ipv4Route:
one_of_ip_route: Union[
OneOfIpRoute1, OneOfIpRoute2, OneOfIpRoute3, OneOfIpRoute4
]
# Prefix
prefix: Prefix
class OneOfIpv6RoutePrefixOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpv6RoutePrefixOptionsDef2:
option_type: GlobalOptionTypeDef
value: str
class OneOfIpv6NextHopAddressOptionsWithOutDefault1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpv6NextHopAddressOptionsWithOutDefault2:
option_type: GlobalOptionTypeDef
value: str
class OneOfIpv6NextHopDistanceOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpv6NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class OneOfIpv6NextHopDistanceOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class TransportManagementVrfNextHop:
address: Union[
OneOfIpv6NextHopAddressOptionsWithOutDefault1,
OneOfIpv6NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv6NextHopDistanceOptionsDef1,
OneOfIpv6NextHopDistanceOptionsDef2,
OneOfIpv6NextHopDistanceOptionsDef3,
]
class ManagementVrfNextHopContainer:
# IPv6 Route Gateway Next Hop
next_hop: Optional[List[TransportManagementVrfNextHop]]
class ManagementVrfOneOfIpRoute1:
next_hop_container: ManagementVrfNextHopContainer
class ManagementVrfOneOfIpRoute2:
null0: Union[
OneOfIpv4V6RouteNull0OptionsWithoutVariable1,
OneOfIpv4V6RouteNull0OptionsWithoutVariable2,
]
class SdRoutingTransportManagementVrfNextHop:
address: Union[
OneOfIpv6NextHopAddressOptionsWithOutDefault1,
OneOfIpv6NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv6NextHopDistanceOptionsDef1,
OneOfIpv6NextHopDistanceOptionsDef2,
OneOfIpv6NextHopDistanceOptionsDef3,
]
class Ipv6StaticRouteInterface:
interface_name: Union[
OneOfVrfInterfaceNameOptionsNoDefaultDef1,
OneOfVrfInterfaceNameOptionsNoDefaultDef2,
]
next_hop: Optional[List[SdRoutingTransportManagementVrfNextHop]]
class ManagementVrfInterfaceContainer:
ipv6_static_route_interface: List[Ipv6StaticRouteInterface]
class ManagementVrfOneOfIpRoute3:
interface_container: ManagementVrfInterfaceContainer
class Ipv6Route:
one_of_ip_route: Union[
ManagementVrfOneOfIpRoute1,
ManagementVrfOneOfIpRoute2,
ManagementVrfOneOfIpRoute3,
]
prefix: Union[
OneOfIpv6RoutePrefixOptionsDef1,
OneOfIpv6RoutePrefixOptionsDef2,
]
class ManagementVrfData:
vrf_name: OneOfVrfNameOptionsDef
description: Optional[
Union[
OneOfVpnNameOptionsDef1,
OneOfVpnNameOptionsDef2,
OneOfVpnNameOptionsDef3,
]
]
dns: Optional[List[Dns]]
host_mapping: Optional[List[HostMapping]]
# IPv4 Static Route
ipv4_route: Optional[List[Ipv4Route]]
# IPv6 Static Route
ipv6_route: Optional[List[Ipv6Route]]
class Payload:
"""
Management VRF feature schema
"""
data: ManagementVrfData
name: str
# Set the feature description
description: Optional[str]
metadata: Optional[Any]
class Data:
# User who last created this.
created_by: Optional[str]
# Timestamp of creation
created_on: Optional[int]
# User who last updated this.
last_updated_by: Optional[str]
# Timestamp of last update
last_updated_on: Optional[int]
parcel_id: Optional[str]
parcel_type: Optional[str]
# Management VRF feature schema
payload: Optional[Payload]
class GetListSdRoutingTransportManagementVrfPayload:
data: Optional[List[Data]]
class CreateSdroutingManagementVrfFeaturePostResponse:
"""
Profile Parcel POST Response schema
"""
parcel_id: str
metadata: Optional[Any]
class TransportManagementVrfData:
vrf_name: OneOfVrfNameOptionsDef
description: Optional[
Union[
OneOfVpnNameOptionsDef1,
OneOfVpnNameOptionsDef2,
OneOfVpnNameOptionsDef3,
]
]
dns: Optional[List[Dns]]
host_mapping: Optional[List[HostMapping]]
# IPv4 Static Route
ipv4_route: Optional[List[Ipv4Route]]
# IPv6 Static Route
ipv6_route: Optional[List[Ipv6Route]]
class CreateSdroutingManagementVrfFeaturePostRequest:
"""
Management VRF feature schema
"""
data: TransportManagementVrfData
name: str
# Set the feature description
description: Optional[str]
metadata: Optional[Any]
class GetSingleSdRoutingTransportManagementVrfPayload:
# User who last created this.
created_by: Optional[str]
# Timestamp of creation
created_on: Optional[int]
# User who last updated this.
last_updated_by: Optional[str]
# Timestamp of last update
last_updated_on: Optional[int]
parcel_id: Optional[str]
parcel_type: Optional[str]
# Management VRF feature schema
payload: Optional[Payload]
class EditSdroutingManagementVrfFeaturePutResponse:
"""
Profile Parcel PUT Response schema
"""
id: str
metadata: Optional[Any]
class SdRoutingTransportManagementVrfData:
vrf_name: OneOfVrfNameOptionsDef
description: Optional[
Union[
OneOfVpnNameOptionsDef1,
OneOfVpnNameOptionsDef2,
OneOfVpnNameOptionsDef3,
]
]
dns: Optional[List[Dns]]
host_mapping: Optional[List[HostMapping]]
# IPv4 Static Route
ipv4_route: Optional[List[Ipv4Route]]
# IPv6 Static Route
ipv6_route: Optional[List[Ipv6Route]]
class EditSdroutingManagementVrfFeaturePutRequest:
"""
Management VRF feature schema
"""
data: SdRoutingTransportManagementVrfData
name: str
# Set the feature description
description: Optional[str]
metadata: Optional[Any]