from typing import Any, Dict, List, Literal, Optional, Union
GlobalOptionTypeDef = Literal["global"]
VariableOptionTypeDef = Literal["variable"]
DefaultOptionTypeDef = Literal["default"]
OptionType = Literal["default", "global"]
MetricTypeDef = Literal["type1", "type2"]
Ipv6RedistributeProtocolDef = Literal[
"bgp", "connected", "eigrp", "static"
]
Value = Literal["stub"]
Ipv6Value = Literal["nssa"]
Ospfv3Ipv6Value = Literal["normal"]
AreaInterfaceNetworkDef = Literal[
"broadcast",
"non-broadcast",
"point-to-multipoint",
"point-to-point",
]
RoutingOspfv3Ipv6Value = Literal["no-auth"]
ServiceRoutingOspfv3Ipv6Value = Literal["ipsec-sha1"]
class OneOfProcessIdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfProcessIdOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpV4AddressDefaultOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpV4AddressDefaultOptionsDef2:
option_type: GlobalOptionTypeDef
value: Any
class OneOfIpV4AddressDefaultOptionsDef3:
option_type: DefaultOptionTypeDef
class OneOfDistanceOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfDistanceOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfDistanceOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfExternalOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfExternalOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfExternalOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfInterAreaOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfInterAreaOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfInterAreaOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfIntraAreaOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfIntraAreaOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIntraAreaOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class BasicConfigDef:
process_id: Union[
OneOfProcessIdOptionsDef1, OneOfProcessIdOptionsDef2
]
distance: Optional[
Union[
OneOfDistanceOptionsDef1,
OneOfDistanceOptionsDef2,
OneOfDistanceOptionsDef3,
]
]
external_distance: Optional[
Union[
OneOfExternalOptionsDef1,
OneOfExternalOptionsDef2,
OneOfExternalOptionsDef3,
]
]
inter_area_distance: Optional[
Union[
OneOfInterAreaOptionsDef1,
OneOfInterAreaOptionsDef2,
OneOfInterAreaOptionsDef3,
]
]
intra_area_distance: Optional[
Union[
OneOfIntraAreaOptionsDef1,
OneOfIntraAreaOptionsDef2,
OneOfIntraAreaOptionsDef3,
]
]
router_id: Optional[
Union[
OneOfIpV4AddressDefaultOptionsDef1,
OneOfIpV4AddressDefaultOptionsDef2,
OneOfIpV4AddressDefaultOptionsDef3,
]
]
class OneOfReferenceBandwidthOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfReferenceBandwidthOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfReferenceBandwidthOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfOnBooleanDefaultTrueOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfOnBooleanDefaultTrueOptionsDef2:
option_type: GlobalOptionTypeDef
value: bool
class OneOfOnBooleanDefaultTrueOptionsDef3:
option_type: DefaultOptionTypeDef
value: bool
class Originate:
"""
Distribute default external route into OSPF disabled
"""
option_type: OptionType
value: bool
class OneOfDefaultOriginateOptionsDef1:
# Distribute default external route into OSPF disabled
originate: Optional[Originate]
class Ipv6Originate:
"""
Distribute default external route into OSPF enabled
"""
option_type: GlobalOptionTypeDef
value: bool
class OneOfOnBooleanDefaultFalseOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfOnBooleanDefaultFalseOptionsDef2:
option_type: GlobalOptionTypeDef
value: bool
class OneOfOnBooleanDefaultFalseOptionsDef3:
option_type: DefaultOptionTypeDef
value: bool
class OneOfMetricOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfMetricOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfMetricOptionsDef3:
option_type: DefaultOptionTypeDef
class OneOfMetricTypeOptionsDef1:
option_type: GlobalOptionTypeDef
value: MetricTypeDef # pytype: disable=annotation-type-mismatch
class OneOfMetricTypeOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfMetricTypeOptionsDef3:
option_type: DefaultOptionTypeDef
class OneOfDefaultOriginateOptionsDef2:
# Distribute default external route into OSPF enabled
originate: Ipv6Originate
always: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
metric: Optional[
Union[
OneOfMetricOptionsDef1,
OneOfMetricOptionsDef2,
OneOfMetricOptionsDef3,
]
]
metric_type: Optional[
Union[
OneOfMetricTypeOptionsDef1,
OneOfMetricTypeOptionsDef2,
OneOfMetricTypeOptionsDef3,
]
]
class OneOfDelayOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfDelayOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfDelayOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfInitialHoldOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfInitialHoldOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfInitialHoldOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfMaxHoldOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfMaxHoldOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfMaxHoldOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class SpfTimersDef:
delay: Optional[
Union[
OneOfDelayOptionsDef1,
OneOfDelayOptionsDef2,
OneOfDelayOptionsDef3,
]
]
initial_hold: Optional[
Union[
OneOfInitialHoldOptionsDef1,
OneOfInitialHoldOptionsDef2,
OneOfInitialHoldOptionsDef3,
]
]
max_hold: Optional[
Union[
OneOfMaxHoldOptionsDef1,
OneOfMaxHoldOptionsDef2,
OneOfMaxHoldOptionsDef3,
]
]
class OneOfRoutePolicyNameOptionsDef1:
option_type: DefaultOptionTypeDef
class RefId:
option_type: GlobalOptionTypeDef
value: str
class OneOfRoutePolicyNameOptionsDef2:
ref_id: RefId
class AdvancedConfigDef:
compatible_rfc1583: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
default_originate: Optional[
Union[
OneOfDefaultOriginateOptionsDef1,
OneOfDefaultOriginateOptionsDef2,
]
]
filter: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
policy_name: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
reference_bandwidth: Optional[
Union[
OneOfReferenceBandwidthOptionsDef1,
OneOfReferenceBandwidthOptionsDef2,
OneOfReferenceBandwidthOptionsDef3,
]
]
spf_timers: Optional[SpfTimersDef]
class OneOfIpv6RedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: Ipv6RedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class OneOfIpv6RedistributeProtocolOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class Ipv6RedistributeProtocolsObjDef:
protocol: Union[
OneOfIpv6RedistributeProtocolOptionsDef1,
OneOfIpv6RedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class Action:
"""
Not advertise maximum metric Router LSA policy by default
"""
option_type: OptionType
value: Any
class OneOfMaxMetricRouterLsaOptionsDef1:
# Not advertise maximum metric Router LSA policy by default
action: Action
class Ipv6Action:
"""
Advertise maximum metric Router LSA immediately
"""
option_type: Any
value: Any
class OneOfMaxMetricRouterLsaOptionsDef2:
# Advertise maximum metric Router LSA immediately
action: Ipv6Action
class Ospfv3Ipv6Action:
"""
Advertise maximum metric router LSA after router start up with configured duration time(seconds)
"""
option_type: Any
value: Any
class OneOfOnStartUpTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfOnStartUpTimeOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfMaxMetricRouterLsaOptionsDef3:
# Advertise maximum metric router LSA after router start up with configured duration time(seconds)
action: Ospfv3Ipv6Action
on_start_up_time: Union[
OneOfOnStartUpTimeOptionsDef1, OneOfOnStartUpTimeOptionsDef2
]
class OneOfAreaNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfAreaNumOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class AreaType:
"""
stub area type
"""
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
class OneOfAreaTypeConfigOptionsDef1:
# stub area type
area_type: Optional[AreaType]
no_summary: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class Ipv6AreaType:
"""
NSSA area type
"""
option_type: GlobalOptionTypeDef
value: Ipv6Value # pytype: disable=annotation-type-mismatch
class OneOfAreaTypeConfigOptionsDef2:
always_translate: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
# NSSA area type
area_type: Optional[Ipv6AreaType]
no_summary: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class Ospfv3Ipv6AreaType:
"""
Normal area type, area number 0 only support normal area type
"""
option_type: GlobalOptionTypeDef
value: Ospfv3Ipv6Value # pytype: disable=annotation-type-mismatch
class OneOfAreaTypeConfigOptionsDef3:
# Normal area type, area number 0 only support normal area type
area_type: Optional[Ospfv3Ipv6AreaType]
class DefaultOptionNoDefaultDef:
option_type: DefaultOptionTypeDef
class OneOfAreaTypeConfigOptionsDef4:
area_type: Optional[DefaultOptionNoDefaultDef]
class OneOfAreaInterfaceNameOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfAreaInterfaceNameOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaInterfaceHelloIntervalOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfAreaInterfaceHelloIntervalOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaInterfaceHelloIntervalOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfAreaInterfaceDeadIntervalOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfAreaInterfaceDeadIntervalOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaInterfaceDeadIntervalOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfAreaInterfaceRetransmitIntervalOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfAreaInterfaceRetransmitIntervalOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaInterfaceRetransmitIntervalOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfAreaInterfaceCostOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfAreaInterfaceCostOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaInterfaceCostOptionsDef3:
option_type: DefaultOptionTypeDef
class OneOfAreaInterfaceNetworkOptionsDef1:
option_type: GlobalOptionTypeDef
value: AreaInterfaceNetworkDef # pytype: disable=annotation-type-mismatch
class OneOfAreaInterfaceNetworkOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaInterfaceNetworkOptionsDef3:
option_type: DefaultOptionTypeDef
class AreaInterfaceNoAuthTypeDef:
option_type: OptionType
value: RoutingOspfv3Ipv6Value # pytype: disable=annotation-type-mismatch
class OneOfAreaInterfaceAuthConfigOptionsDef1:
auth_type: AreaInterfaceNoAuthTypeDef
class AreaInterfaceIpsecSha1AuthTypeDef:
option_type: GlobalOptionTypeDef
value: ServiceRoutingOspfv3Ipv6Value # pytype: disable=annotation-type-mismatch
class OneOfAreaInterfaceSpiOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfAreaInterfaceSpiOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaInterfaceSha1AuthKeyOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfAreaInterfaceSha1AuthKeyOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaInterfaceAuthConfigOptionsDef2:
auth_key: Union[
OneOfAreaInterfaceSha1AuthKeyOptionsDef1,
OneOfAreaInterfaceSha1AuthKeyOptionsDef2,
]
auth_type: AreaInterfaceIpsecSha1AuthTypeDef
spi: Union[
OneOfAreaInterfaceSpiOptionsDef1,
OneOfAreaInterfaceSpiOptionsDef2,
]
class AreaInterfaceDef:
if_name: Union[
OneOfAreaInterfaceNameOptionsDef1,
OneOfAreaInterfaceNameOptionsDef2,
]
authentication_config: Optional[
Union[
OneOfAreaInterfaceAuthConfigOptionsDef1,
OneOfAreaInterfaceAuthConfigOptionsDef2,
]
]
cost: Optional[
Union[
OneOfAreaInterfaceCostOptionsDef1,
OneOfAreaInterfaceCostOptionsDef2,
OneOfAreaInterfaceCostOptionsDef3,
]
]
dead_interval: Optional[
Union[
OneOfAreaInterfaceDeadIntervalOptionsDef1,
OneOfAreaInterfaceDeadIntervalOptionsDef2,
OneOfAreaInterfaceDeadIntervalOptionsDef3,
]
]
hello_interval: Optional[
Union[
OneOfAreaInterfaceHelloIntervalOptionsDef1,
OneOfAreaInterfaceHelloIntervalOptionsDef2,
OneOfAreaInterfaceHelloIntervalOptionsDef3,
]
]
network_type: Optional[
Union[
OneOfAreaInterfaceNetworkOptionsDef1,
OneOfAreaInterfaceNetworkOptionsDef2,
OneOfAreaInterfaceNetworkOptionsDef3,
]
]
passive_interface: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
retransmit_interval: Optional[
Union[
OneOfAreaInterfaceRetransmitIntervalOptionsDef1,
OneOfAreaInterfaceRetransmitIntervalOptionsDef2,
OneOfAreaInterfaceRetransmitIntervalOptionsDef3,
]
]
class OneOfIpv6PrefixGlobalVariableWithoutDefault1:
option_type: GlobalOptionTypeDef
value: str
class OneOfIpv6PrefixGlobalVariableWithoutDefault2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaRangeCostOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfAreaRangeCostOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAreaRangeCostOptionsDef3:
option_type: DefaultOptionTypeDef
class Ipv6AreaRangeDef:
network: Union[
OneOfIpv6PrefixGlobalVariableWithoutDefault1,
OneOfIpv6PrefixGlobalVariableWithoutDefault2,
]
no_advertise: Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
cost: Optional[
Union[
OneOfAreaRangeCostOptionsDef1,
OneOfAreaRangeCostOptionsDef2,
OneOfAreaRangeCostOptionsDef3,
]
]
class Area:
area_num: Union[OneOfAreaNumOptionsDef1, OneOfAreaNumOptionsDef2]
# Set OSPF interface parameters
interfaces: List[AreaInterfaceDef]
area_type_config: Optional[
Union[
OneOfAreaTypeConfigOptionsDef1,
OneOfAreaTypeConfigOptionsDef2,
OneOfAreaTypeConfigOptionsDef3,
OneOfAreaTypeConfigOptionsDef4,
]
]
# Summarize OSPF routes at an area boundary
ranges: Optional[List[Ipv6AreaRangeDef]]
class Ipv6Data:
"""
IPv6 address family configuration
"""
# Configure OSPFv3 IPv6 area
area: List[Area]
basic: BasicConfigDef
advanced: Optional[AdvancedConfigDef]
max_metric_router_lsa: Optional[
Union[
OneOfMaxMetricRouterLsaOptionsDef1,
OneOfMaxMetricRouterLsaOptionsDef2,
OneOfMaxMetricRouterLsaOptionsDef3,
]
]
redistribute: Optional[List[Ipv6RedistributeProtocolsObjDef]]
class Payload:
"""
SD-Routing OSPFv3 for IPv6 address family feature schema
"""
# IPv6 address family configuration
data: Ipv6Data
name: str
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]
# SD-Routing OSPFv3 for IPv6 address family feature schema
payload: Optional[Payload]
class GetListSdRoutingServiceRoutingOspfv3Ipv6Payload:
data: Optional[List[Data]]
class CreateSdroutingServiceVrfOspfv3Ipv6FeaturePostResponse:
"""
Profile Parcel POST Response schema
"""
parcel_id: str
metadata: Optional[Any]
class Ospfv3Ipv6Data:
"""
IPv6 address family configuration
"""
# Configure OSPFv3 IPv6 area
area: List[Area]
basic: BasicConfigDef
advanced: Optional[AdvancedConfigDef]
max_metric_router_lsa: Optional[
Union[
OneOfMaxMetricRouterLsaOptionsDef1,
OneOfMaxMetricRouterLsaOptionsDef2,
OneOfMaxMetricRouterLsaOptionsDef3,
]
]
redistribute: Optional[List[Ipv6RedistributeProtocolsObjDef]]
class CreateSdroutingServiceVrfOspfv3Ipv6FeaturePostRequest:
"""
SD-Routing OSPFv3 for IPv6 address family feature schema
"""
# IPv6 address family configuration
data: Ospfv3Ipv6Data
name: str
description: Optional[str]
metadata: Optional[Any]
class GetSingleSdRoutingServiceRoutingOspfv3Ipv6Payload:
# 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]
# SD-Routing OSPFv3 for IPv6 address family feature schema
payload: Optional[Payload]
class EditSdroutingServiceVrfOspfv3Ipv6FeaturePutResponse:
"""
Profile Parcel PUT Response schema
"""
id: str
metadata: Optional[Any]
class RoutingOspfv3Ipv6Data:
"""
IPv6 address family configuration
"""
# Configure OSPFv3 IPv6 area
area: List[Area]
basic: BasicConfigDef
advanced: Optional[AdvancedConfigDef]
max_metric_router_lsa: Optional[
Union[
OneOfMaxMetricRouterLsaOptionsDef1,
OneOfMaxMetricRouterLsaOptionsDef2,
OneOfMaxMetricRouterLsaOptionsDef3,
]
]
redistribute: Optional[List[Ipv6RedistributeProtocolsObjDef]]
class EditSdroutingServiceVrfOspfv3Ipv6FeaturePutRequest:
"""
SD-Routing OSPFv3 for IPv6 address family feature schema
"""
# IPv6 address family configuration
data: RoutingOspfv3Ipv6Data
name: str
description: Optional[str]
metadata: Optional[Any]