from typing import Any, Dict, List, Literal, Optional, Union
VariableOptionTypeDef = Literal["variable"]
GlobalOptionTypeDef = Literal["global"]
ExtensionsParcelTypeDef = Literal[
"vrf",
"vrf/lan/interface/ethernet",
"vrf/lan/interface/gre",
"vrf/lan/interface/ipsec",
"vrf/routing/bgp",
]
DefaultOptionTypeDef = Literal["default"]
Value = Literal["disable-peer", "warning-only"]
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",
]
Ipv4AddressFamilyRedistributeProtocolDef = Literal[
"connected", "nat", "ospf", "ospfv3", "static"
]
Ipv6AddressFamilyRedistributeProtocolDef = Literal[
"connected", "ospf", "static"
]
Ipv6RouteNatDef = Literal["NAT64", "NAT66"]
MulticloudConnectionExtensionsParcelTypeDef = Literal[
"ivrf",
"vrf/lan/interface/ethernet",
"vrf/lan/interface/gre",
"vrf/lan/interface/ipsec",
"vrf/routing/bgp",
]
MulticloudConnectionIpv4AddressFamilyRedistributeProtocolDef = (
Literal["connected", "nat", "ospf", "ospfv3", "static"]
)
MulticloudConnectionIpv6AddressFamilyRedistributeProtocolDef = (
Literal["connected", "ospf", "static"]
)
ServiceMulticloudConnectionExtensionsParcelTypeDef = Literal[
"ivrf",
"vrf/lan/interface/ethernet",
"vrf/lan/interface/gre",
"vrf/lan/interface/ipsec",
"vrf/routing/bgp",
]
ServiceMulticloudConnectionIpv4AddressFamilyRedistributeProtocolDef = Literal[
"connected", "nat", "ospf", "ospfv3", "static"
]
ServiceMulticloudConnectionIpv6AddressFamilyRedistributeProtocolDef = Literal[
"connected", "ospf", "static"
]
class VariableOptionTypeObjectDef:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfExtensionsParcelTypeOptionsDef1:
option_type: GlobalOptionTypeDef
value: ExtensionsParcelTypeDef # pytype: disable=annotation-type-mismatch
class OneOfExtensionsParcelTypeOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfExtensionsParcelIdOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfExtensionsParcelIdOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpV4AddressOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpV4AddressOptionsDef2:
option_type: GlobalOptionTypeDef
value: Any
class OneOfNeighborDescriptionOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfNeighborDescriptionOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfNeighborDescriptionOptionsDef3:
option_type: DefaultOptionTypeDef
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 OneOfAsNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class OneOfAsNumOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfLocalAsOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class OneOfLocalAsOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfLocalAsOptionsDef3:
option_type: DefaultOptionTypeDef
class OneOfKeepaliveOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfKeepaliveOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class OneOfHoldtimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfHoldtimeOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfInterfaceNameOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfInterfaceNameOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfInterfaceNameOptionsDef3:
option_type: DefaultOptionTypeDef
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 OneOfNeighborEbgpMultihopOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborEbgpMultihopOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfNeighborEbgpMultihopOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfNeighborPasswordOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfNeighborPasswordOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfNeighborPasswordOptionsDef3:
option_type: DefaultOptionTypeDef
class OneOfNeighborAsNumberOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborAsNumberOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfNeighborAsNumberOptionsDef3:
option_type: DefaultOptionTypeDef
class LanIpv4NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Any
class PolicyType:
"""
Neighbor received maximum prefix policy is disabled.
"""
option_type: GlobalOptionTypeDef
value: Any
class NeighborMaxPrefixConfigDef1:
# Neighbor received maximum prefix policy is disabled.
policy_type: PolicyType
class MulticloudConnectionPolicyType:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
"""
option_type: GlobalOptionTypeDef
value: Any
class OneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborMaxPrefixNumOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborAddressFamilyThresholdOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class NeighborMaxPrefixConfigDef2:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
policy_type: MulticloudConnectionPolicyType
prefix_num: Union[
OneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
restart_interval: Union[
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2,
]
threshold: Union[
OneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
OneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class ServiceMulticloudConnectionPolicyType:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
"""
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
class NeighborMaxPrefixConfigDef3:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
policy_type: ServiceMulticloudConnectionPolicyType
prefix_num: Union[
OneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
threshold: Union[
OneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
OneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class OneOfRoutePolicyNameOptionsDef1:
option_type: DefaultOptionTypeDef
class RefId:
option_type: GlobalOptionTypeDef
value: str
class OneOfRoutePolicyNameOptionsDef2:
ref_id: RefId
class AddressFamily:
family_type: LanIpv4NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
NeighborMaxPrefixConfigDef2,
NeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class Neighbor:
address: Union[
OneOfIpV4AddressOptionsDef1, OneOfIpV4AddressOptionsDef2
]
remote_as: Union[OneOfAsNumOptionsDef1, OneOfAsNumOptionsDef2]
# Set BGP address family
address_family: Optional[List[AddressFamily]]
as_number: Optional[
Union[
OneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
OneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
OneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
OneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[OneOfHoldtimeOptionsDef1, OneOfHoldtimeOptionsDef2]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[OneOfKeepaliveOptionsDef1, OneOfKeepaliveOptionsDef2]
]
local_as: Optional[
Union[
OneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
OneOfNeighborPasswordOptionsDef1,
OneOfNeighborPasswordOptionsDef2,
OneOfNeighborPasswordOptionsDef3,
]
]
send_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_ext_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_label: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class OneOfIpv6AddrGlobalVariableOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfIpv6AddrGlobalVariableOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class LanIpv6NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Any
class MulticloudConnectionAddressFamily:
family_type: LanIpv6NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
NeighborMaxPrefixConfigDef2,
NeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class Ipv6Neighbor:
address: Union[
OneOfIpv6AddrGlobalVariableOptionsDef1,
OneOfIpv6AddrGlobalVariableOptionsDef2,
]
remote_as: Union[OneOfAsNumOptionsDef1, OneOfAsNumOptionsDef2]
# Set IPv6 BGP address family
address_family: Optional[List[MulticloudConnectionAddressFamily]]
as_number: Optional[
Union[
OneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
OneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
OneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
OneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[OneOfHoldtimeOptionsDef1, OneOfHoldtimeOptionsDef2]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[OneOfKeepaliveOptionsDef1, OneOfKeepaliveOptionsDef2]
]
local_as: Optional[
Union[
OneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
OneOfNeighborPasswordOptionsDef1,
OneOfNeighborPasswordOptionsDef2,
OneOfNeighborPasswordOptionsDef3,
]
]
send_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_ext_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
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 Ipv4AddressAndMaskDef:
address: Union[
OneOfIpV4AddressOptionsDef1, OneOfIpV4AddressOptionsDef2
]
mask: Union[
OneOfIpV4SubnetMaskOptionsDef1, OneOfIpV4SubnetMaskOptionsDef2
]
class AggregateAddress:
prefix: Ipv4AddressAndMaskDef
as_set: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
summary_only: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class Network:
prefix: Ipv4AddressAndMaskDef
class OneOfAddressFamilyPathsOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class OneOfAddressFamilyPathsOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfAddressFamilyPathsOptionsDef3:
option_type: DefaultOptionTypeDef
class OneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: Ipv4AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class OneOfIpv4AddressFamilyRedistributeProtocolOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class Redistribute:
protocol: Union[
OneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1,
OneOfIpv4AddressFamilyRedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class ServiceMulticloudConnectionAddressFamily:
"""
Set IPv4 unicast BGP address family
"""
# Aggregate prefixes in specific range
aggregate_address: Optional[List[AggregateAddress]]
filter: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
name: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
# Configure the networks for BGP to advertise
network: Optional[List[Network]]
originate: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
paths: Optional[
Union[
OneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[List[Redistribute]]
class OneOfIpv6PrefixOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class OneOfIpv6PrefixOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class Ipv6AggregateAddress:
prefix: Union[
OneOfIpv6PrefixOptionsDef1, OneOfIpv6PrefixOptionsDef2
]
as_set: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
summary_only: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class Ipv6Network:
prefix: Union[
OneOfIpv6PrefixOptionsDef1, OneOfIpv6PrefixOptionsDef2
]
class OneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: Ipv6AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class OneOfIpv6AddressFamilyRedistributeProtocolOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class MulticloudConnectionRedistribute:
protocol: Union[
OneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1,
OneOfIpv6AddressFamilyRedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class Ipv6AddressFamily:
"""
Set BGP address family
"""
filter: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
# IPv6 Aggregate prefixes in specific range
ipv6_aggregate_address: Optional[List[Ipv6AggregateAddress]]
# Configure the networks for BGP to advertise
ipv6_network: Optional[List[Ipv6Network]]
name: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
originate: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
paths: Optional[
Union[
OneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[List[MulticloudConnectionRedistribute]]
class Prefix:
"""
Prefix
"""
ip_address: Union[
OneOfIpV4AddressOptionsDef1, OneOfIpV4AddressOptionsDef2
]
subnet_mask: Union[
OneOfIpV4SubnetMaskOptionsDef1, OneOfIpV4SubnetMaskOptionsDef2
]
class OneOfIpv4NextHopAddressOptionsWithOutDefault1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpv4NextHopAddressOptionsWithOutDefault2:
option_type: GlobalOptionTypeDef
value: Union[Any, str]
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 NextHop:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
OneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
class OneOfIpv4NextHopTrackerOptionsDef1:
ref_id: RefId
class OneOfIpv4NextHopTrackerOptionsDef2:
option_type: DefaultOptionTypeDef
class NextHopWithTracker:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
OneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
tracker: Union[
OneOfIpv4NextHopTrackerOptionsDef1,
OneOfIpv4NextHopTrackerOptionsDef2,
]
class NextHopContainer:
# IPv4 Route Gateway Next Hop
next_hop: Optional[List[NextHop]]
# IPv4 Route Gateway Next Hop with Tracker
next_hop_with_tracker: Optional[List[NextHopWithTracker]]
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,
]
class OneOfIpv4RouteDhcpOptionsWithoutVariable1:
option_type: GlobalOptionTypeDef
value: bool
class OneOfIpv4RouteDhcpOptionsWithoutVariable2:
option_type: DefaultOptionTypeDef
value: bool
class OneOfIpRoute3:
dhcp: Union[
OneOfIpv4RouteDhcpOptionsWithoutVariable1,
OneOfIpv4RouteDhcpOptionsWithoutVariable2,
]
class OneOfIpv4RouteVpnOptionsWithoutVariable1:
option_type: GlobalOptionTypeDef
value: bool
class OneOfIpv4RouteVpnOptionsWithoutVariable2:
option_type: DefaultOptionTypeDef
value: bool
class OneOfIpRoute4:
vpn: Union[
OneOfIpv4RouteVpnOptionsWithoutVariable1,
OneOfIpv4RouteVpnOptionsWithoutVariable2,
]
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 MulticloudConnectionNextHop:
address: Union[
OneOfIpv6NextHopAddressOptionsWithOutDefault1,
OneOfIpv6NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv6NextHopDistanceOptionsDef1,
OneOfIpv6NextHopDistanceOptionsDef2,
OneOfIpv6NextHopDistanceOptionsDef3,
]
class MulticloudConnectionNextHopContainer:
# IPv6 Route Gateway Next Hop
next_hop: Optional[List[MulticloudConnectionNextHop]]
class MulticloudConnectionOneOfIpRoute1:
next_hop_container: MulticloudConnectionNextHopContainer
class OneOfIpv6RouteNatOptionsWithoutDefault1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpv6RouteNatOptionsWithoutDefault2:
option_type: GlobalOptionTypeDef
value: Ipv6RouteNatDef # pytype: disable=annotation-type-mismatch
class MulticloudConnectionOneOfIpRoute3:
nat: Union[
OneOfIpv6RouteNatOptionsWithoutDefault1,
OneOfIpv6RouteNatOptionsWithoutDefault2,
]
class Ipv6Route:
one_of_ip_route: Union[
MulticloudConnectionOneOfIpRoute1,
OneOfIpRoute2,
MulticloudConnectionOneOfIpRoute3,
]
prefix: Union[
OneOfIpv6RoutePrefixOptionsDef1,
OneOfIpv6RoutePrefixOptionsDef2,
]
class ServiceMulticloudConnectionData:
"""
Parameters for the new Connection
"""
# Set IPv4 unicast BGP address family
address_family: Optional[ServiceMulticloudConnectionAddressFamily]
# IPv4 Static Route
ipv4_route: Optional[List[Ipv4Route]]
# Set BGP address family
ipv6_address_family: Optional[Ipv6AddressFamily]
# Set BGP IPv6 neighbors
ipv6_neighbor: Optional[List[Ipv6Neighbor]]
# IPv6 Static Route
ipv6_route: Optional[List[Ipv6Route]]
# Set BGP IPv4 neighbors
neighbor: Optional[List[Neighbor]]
class Extensions:
parcel_type: Union[
OneOfExtensionsParcelTypeOptionsDef1,
OneOfExtensionsParcelTypeOptionsDef2,
]
# Parameters for the new Connection
data: Optional[ServiceMulticloudConnectionData]
parcel_id: Optional[
Union[
OneOfExtensionsParcelIdOptionsDef1,
OneOfExtensionsParcelIdOptionsDef2,
]
]
class MulticloudConnectionData:
connection_name: VariableOptionTypeObjectDef
# Extending Bgp Neighbors, Ip Routes, Interface Parcel Id reference and Route Policy for Service Profile to build new Connections
extensions: Optional[List[Extensions]]
class Payload:
"""
SD-Routing multi-cloud-connection profile parcel schema for POST request
"""
data: Optional[MulticloudConnectionData]
description: Optional[str]
name: Optional[str]
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 multi-cloud-connection profile parcel schema for POST request
payload: Optional[Payload]
class GetListSdRoutingServiceVrfLanMulticloudConnectionPayload:
data: Optional[List[Data]]
class CreateMultiCloudConnectionPostResponse:
"""
Profile Parcel POST Response schema
"""
parcel_id: str
metadata: Optional[Any]
class SdRoutingServiceMulticloudConnectionData:
connection_name: VariableOptionTypeObjectDef
# Extending Bgp Neighbors, Ip Routes, Interface Parcel Id reference and Route Policy for Service Profile to build new Connections
extensions: Optional[List[Extensions]]
class CreateMultiCloudConnectionPostRequest:
"""
SD-Routing multi-cloud-connection profile parcel schema for POST request
"""
data: Optional[SdRoutingServiceMulticloudConnectionData]
description: Optional[str]
name: Optional[str]
class MulticloudConnectionOneOfExtensionsParcelTypeOptionsDef1:
option_type: GlobalOptionTypeDef
value: MulticloudConnectionExtensionsParcelTypeDef # pytype: disable=annotation-type-mismatch
class MulticloudConnectionOneOfExtensionsParcelIdOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class MulticloudConnectionOneOfNeighborDescriptionOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class MulticloudConnectionOneOfAsNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class MulticloudConnectionOneOfLocalAsOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class MulticloudConnectionOneOfKeepaliveOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionOneOfHoldtimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class MulticloudConnectionOneOfNeighborPasswordOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class MulticloudConnectionOneOfNeighborAsNumberOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionLanIpv4NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Any
class SdRoutingServiceMulticloudConnectionPolicyType:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
"""
option_type: GlobalOptionTypeDef
value: Any
class MulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class MulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionNeighborMaxPrefixConfigDef2:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
policy_type: SdRoutingServiceMulticloudConnectionPolicyType
prefix_num: Union[
MulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
restart_interval: Union[
MulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2,
]
threshold: Union[
MulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
MulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class FeatureProfileSdRoutingServiceMulticloudConnectionPolicyType:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
"""
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
class ServiceMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class MulticloudConnectionNeighborMaxPrefixConfigDef3:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
policy_type: (
FeatureProfileSdRoutingServiceMulticloudConnectionPolicyType
)
prefix_num: Union[
ServiceMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
threshold: Union[
ServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
ServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class SdRoutingServiceMulticloudConnectionAddressFamily:
family_type: MulticloudConnectionLanIpv4NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
MulticloudConnectionNeighborMaxPrefixConfigDef2,
MulticloudConnectionNeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class MulticloudConnectionNeighbor:
address: Union[
OneOfIpV4AddressOptionsDef1, OneOfIpV4AddressOptionsDef2
]
remote_as: Union[
MulticloudConnectionOneOfAsNumOptionsDef1,
OneOfAsNumOptionsDef2,
]
# Set BGP address family
address_family: Optional[
List[SdRoutingServiceMulticloudConnectionAddressFamily]
]
as_number: Optional[
Union[
MulticloudConnectionOneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
MulticloudConnectionOneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
MulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
MulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[
MulticloudConnectionOneOfHoldtimeOptionsDef1,
OneOfHoldtimeOptionsDef2,
]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[
OneOfKeepaliveOptionsDef1,
MulticloudConnectionOneOfKeepaliveOptionsDef2,
]
]
local_as: Optional[
Union[
MulticloudConnectionOneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
MulticloudConnectionOneOfNeighborPasswordOptionsDef1,
OneOfNeighborPasswordOptionsDef2,
OneOfNeighborPasswordOptionsDef3,
]
]
send_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_ext_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_label: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class ServiceMulticloudConnectionOneOfNeighborDescriptionOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class ServiceMulticloudConnectionOneOfAsNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class ServiceMulticloudConnectionOneOfLocalAsOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class ServiceMulticloudConnectionOneOfKeepaliveOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfHoldtimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfNeighborPasswordOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class ServiceMulticloudConnectionOneOfNeighborAsNumberOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionLanIpv6NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Any
class V1FeatureProfileSdRoutingServiceMulticloudConnectionPolicyType:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
"""
option_type: GlobalOptionTypeDef
value: Any
class SdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionNeighborMaxPrefixConfigDef2:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
policy_type: (
V1FeatureProfileSdRoutingServiceMulticloudConnectionPolicyType
)
prefix_num: Union[
SdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
restart_interval: Union[
ServiceMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2,
]
threshold: Union[
SdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
SdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class PolicyType1:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
"""
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class ServiceMulticloudConnectionNeighborMaxPrefixConfigDef3:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
policy_type: PolicyType1
prefix_num: Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
threshold: Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class FeatureProfileSdRoutingServiceMulticloudConnectionAddressFamily:
family_type: MulticloudConnectionLanIpv6NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
ServiceMulticloudConnectionNeighborMaxPrefixConfigDef2,
ServiceMulticloudConnectionNeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class MulticloudConnectionIpv6Neighbor:
address: Union[
OneOfIpv6AddrGlobalVariableOptionsDef1,
OneOfIpv6AddrGlobalVariableOptionsDef2,
]
remote_as: Union[
ServiceMulticloudConnectionOneOfAsNumOptionsDef1,
OneOfAsNumOptionsDef2,
]
# Set IPv6 BGP address family
address_family: Optional[
List[
FeatureProfileSdRoutingServiceMulticloudConnectionAddressFamily
]
]
as_number: Optional[
Union[
ServiceMulticloudConnectionOneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
ServiceMulticloudConnectionOneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
ServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
ServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[
ServiceMulticloudConnectionOneOfHoldtimeOptionsDef1,
OneOfHoldtimeOptionsDef2,
]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[
OneOfKeepaliveOptionsDef1,
ServiceMulticloudConnectionOneOfKeepaliveOptionsDef2,
]
]
local_as: Optional[
Union[
ServiceMulticloudConnectionOneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
ServiceMulticloudConnectionOneOfNeighborPasswordOptionsDef1,
OneOfNeighborPasswordOptionsDef2,
OneOfNeighborPasswordOptionsDef3,
]
]
send_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_ext_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class MulticloudConnectionOneOfAddressFamilyPathsOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionOneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: MulticloudConnectionIpv4AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class ServiceMulticloudConnectionRedistribute:
protocol: Union[
MulticloudConnectionOneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1,
OneOfIpv4AddressFamilyRedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class V1FeatureProfileSdRoutingServiceMulticloudConnectionAddressFamily:
"""
Set IPv4 unicast BGP address family
"""
# Aggregate prefixes in specific range
aggregate_address: Optional[List[AggregateAddress]]
filter: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
name: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
# Configure the networks for BGP to advertise
network: Optional[List[Network]]
originate: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
paths: Optional[
Union[
MulticloudConnectionOneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[
List[ServiceMulticloudConnectionRedistribute]
]
class ServiceMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionOneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: MulticloudConnectionIpv6AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class SdRoutingServiceMulticloudConnectionRedistribute:
protocol: Union[
MulticloudConnectionOneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1,
OneOfIpv6AddressFamilyRedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class MulticloudConnectionIpv6AddressFamily:
"""
Set BGP address family
"""
filter: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
# IPv6 Aggregate prefixes in specific range
ipv6_aggregate_address: Optional[List[Ipv6AggregateAddress]]
# Configure the networks for BGP to advertise
ipv6_network: Optional[List[Ipv6Network]]
name: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
originate: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
paths: Optional[
Union[
ServiceMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[
List[SdRoutingServiceMulticloudConnectionRedistribute]
]
class MulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionNextHop:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
MulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
class ServiceMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionNextHopWithTracker:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
ServiceMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
tracker: Union[
OneOfIpv4NextHopTrackerOptionsDef1,
OneOfIpv4NextHopTrackerOptionsDef2,
]
class ServiceMulticloudConnectionNextHopContainer:
# IPv4 Route Gateway Next Hop
next_hop: Optional[List[ServiceMulticloudConnectionNextHop]]
# IPv4 Route Gateway Next Hop with Tracker
next_hop_with_tracker: Optional[
List[MulticloudConnectionNextHopWithTracker]
]
class ServiceMulticloudConnectionOneOfIpRoute1:
next_hop_container: ServiceMulticloudConnectionNextHopContainer
class MulticloudConnectionIpv4Route:
one_of_ip_route: Union[
ServiceMulticloudConnectionOneOfIpRoute1,
OneOfIpRoute2,
OneOfIpRoute3,
OneOfIpRoute4,
]
# Prefix
prefix: Prefix
class MulticloudConnectionOneOfIpv6NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionNextHop:
address: Union[
OneOfIpv6NextHopAddressOptionsWithOutDefault1,
OneOfIpv6NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv6NextHopDistanceOptionsDef1,
MulticloudConnectionOneOfIpv6NextHopDistanceOptionsDef2,
OneOfIpv6NextHopDistanceOptionsDef3,
]
class SdRoutingServiceMulticloudConnectionNextHopContainer:
# IPv6 Route Gateway Next Hop
next_hop: Optional[
List[SdRoutingServiceMulticloudConnectionNextHop]
]
class SdRoutingServiceMulticloudConnectionOneOfIpRoute1:
next_hop_container: (
SdRoutingServiceMulticloudConnectionNextHopContainer
)
class ServiceMulticloudConnectionOneOfIpRoute3:
nat: Union[
OneOfIpv6RouteNatOptionsWithoutDefault1,
OneOfIpv6RouteNatOptionsWithoutDefault2,
]
class MulticloudConnectionIpv6Route:
one_of_ip_route: Union[
SdRoutingServiceMulticloudConnectionOneOfIpRoute1,
OneOfIpRoute2,
ServiceMulticloudConnectionOneOfIpRoute3,
]
prefix: Union[
OneOfIpv6RoutePrefixOptionsDef1,
OneOfIpv6RoutePrefixOptionsDef2,
]
class V1FeatureProfileSdRoutingServiceMulticloudConnectionData:
"""
Parameters for the new Connection
"""
# Set IPv4 unicast BGP address family
address_family: Optional[
V1FeatureProfileSdRoutingServiceMulticloudConnectionAddressFamily
]
# IPv4 Static Route
ipv4_route: Optional[List[MulticloudConnectionIpv4Route]]
# Set BGP address family
ipv6_address_family: Optional[
MulticloudConnectionIpv6AddressFamily
]
# Set BGP IPv6 neighbors
ipv6_neighbor: Optional[List[MulticloudConnectionIpv6Neighbor]]
# IPv6 Static Route
ipv6_route: Optional[List[MulticloudConnectionIpv6Route]]
# Set BGP IPv4 neighbors
neighbor: Optional[List[MulticloudConnectionNeighbor]]
class MulticloudConnectionExtensions:
parcel_type: Union[
MulticloudConnectionOneOfExtensionsParcelTypeOptionsDef1,
OneOfExtensionsParcelTypeOptionsDef2,
]
# Parameters for the new Connection
data: Optional[
V1FeatureProfileSdRoutingServiceMulticloudConnectionData
]
parcel_id: Optional[
Union[
MulticloudConnectionOneOfExtensionsParcelIdOptionsDef1,
OneOfExtensionsParcelIdOptionsDef2,
]
]
class FeatureProfileSdRoutingServiceMulticloudConnectionData:
connection_name: VariableOptionTypeObjectDef
# Extending Bgp Neighbors, Ip Routes, Interface Parcel Id reference and Route Policy for Service Profile to build new Connections
extensions: Optional[List[MulticloudConnectionExtensions]]
class MulticloudConnectionPayload:
"""
SD-Routing multi-cloud-connection profile parcel schema for PUT request
"""
data: Optional[
FeatureProfileSdRoutingServiceMulticloudConnectionData
]
description: Optional[str]
name: Optional[str]
class GetSingleSdRoutingServiceVrfLanMulticloudConnectionPayload:
# 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 multi-cloud-connection profile parcel schema for PUT request
payload: Optional[MulticloudConnectionPayload]
class EditMultiCloudConnectionPutResponse:
"""
Profile Parcel PUT Response schema
"""
id: str
metadata: Optional[Any]
class ServiceMulticloudConnectionOneOfExtensionsParcelTypeOptionsDef1:
option_type: GlobalOptionTypeDef
value: ServiceMulticloudConnectionExtensionsParcelTypeDef # pytype: disable=annotation-type-mismatch
class ServiceMulticloudConnectionOneOfExtensionsParcelIdOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class SdRoutingServiceMulticloudConnectionOneOfNeighborDescriptionOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class SdRoutingServiceMulticloudConnectionOneOfAsNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class SdRoutingServiceMulticloudConnectionOneOfLocalAsOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class SdRoutingServiceMulticloudConnectionOneOfKeepaliveOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionOneOfHoldtimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionOneOfNeighborPasswordOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class SdRoutingServiceMulticloudConnectionOneOfNeighborAsNumberOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionLanIpv4NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Any
class PolicyType2:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
"""
option_type: GlobalOptionTypeDef
value: Any
class V1FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class V1FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class V1FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionNeighborMaxPrefixConfigDef2:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
policy_type: PolicyType2
prefix_num: Union[
V1FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
restart_interval: Union[
SdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2,
]
threshold: Union[
V1FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
V1FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class PolicyType3:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
"""
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
class OneOfNeighborMaxPrefixNumOptionsDef11:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborAddressFamilyThresholdOptionsDef11:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborAddressFamilyThresholdOptionsDef31:
option_type: DefaultOptionTypeDef
value: int
class SdRoutingServiceMulticloudConnectionNeighborMaxPrefixConfigDef3:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
policy_type: PolicyType3
prefix_num: Union[
OneOfNeighborMaxPrefixNumOptionsDef11,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
threshold: Union[
OneOfNeighborAddressFamilyThresholdOptionsDef11,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
OneOfNeighborAddressFamilyThresholdOptionsDef31,
]
class AddressFamily1:
family_type: ServiceMulticloudConnectionLanIpv4NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
SdRoutingServiceMulticloudConnectionNeighborMaxPrefixConfigDef2,
SdRoutingServiceMulticloudConnectionNeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class ServiceMulticloudConnectionNeighbor:
address: Union[
OneOfIpV4AddressOptionsDef1, OneOfIpV4AddressOptionsDef2
]
remote_as: Union[
SdRoutingServiceMulticloudConnectionOneOfAsNumOptionsDef1,
OneOfAsNumOptionsDef2,
]
# Set BGP address family
address_family: Optional[List[AddressFamily1]]
as_number: Optional[
Union[
SdRoutingServiceMulticloudConnectionOneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
SdRoutingServiceMulticloudConnectionOneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
SdRoutingServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
SdRoutingServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[
SdRoutingServiceMulticloudConnectionOneOfHoldtimeOptionsDef1,
OneOfHoldtimeOptionsDef2,
]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[
OneOfKeepaliveOptionsDef1,
SdRoutingServiceMulticloudConnectionOneOfKeepaliveOptionsDef2,
]
]
local_as: Optional[
Union[
SdRoutingServiceMulticloudConnectionOneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
SdRoutingServiceMulticloudConnectionOneOfNeighborPasswordOptionsDef1,
OneOfNeighborPasswordOptionsDef2,
OneOfNeighborPasswordOptionsDef3,
]
]
send_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_ext_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_label: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborDescriptionOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfAsNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfLocalAsOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfKeepaliveOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfHoldtimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborPasswordOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAsNumberOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionLanIpv6NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Any
class PolicyType4:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
"""
option_type: GlobalOptionTypeDef
value: Any
class OneOfNeighborMaxPrefixNumOptionsDef12:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborAddressFamilyThresholdOptionsDef12:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborAddressFamilyThresholdOptionsDef32:
option_type: DefaultOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionNeighborMaxPrefixConfigDef2:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
policy_type: PolicyType4
prefix_num: Union[
OneOfNeighborMaxPrefixNumOptionsDef12,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
restart_interval: Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2,
]
threshold: Union[
OneOfNeighborAddressFamilyThresholdOptionsDef12,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
OneOfNeighborAddressFamilyThresholdOptionsDef32,
]
class PolicyType5:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
"""
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
class OneOfNeighborMaxPrefixNumOptionsDef13:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborAddressFamilyThresholdOptionsDef13:
option_type: GlobalOptionTypeDef
value: int
class OneOfNeighborAddressFamilyThresholdOptionsDef33:
option_type: DefaultOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionNeighborMaxPrefixConfigDef3:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
policy_type: PolicyType5
prefix_num: Union[
OneOfNeighborMaxPrefixNumOptionsDef13,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
threshold: Union[
OneOfNeighborAddressFamilyThresholdOptionsDef13,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
OneOfNeighborAddressFamilyThresholdOptionsDef33,
]
class AddressFamily2:
family_type: ServiceMulticloudConnectionLanIpv6NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
FeatureProfileSdRoutingServiceMulticloudConnectionNeighborMaxPrefixConfigDef2,
FeatureProfileSdRoutingServiceMulticloudConnectionNeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class ServiceMulticloudConnectionIpv6Neighbor:
address: Union[
OneOfIpv6AddrGlobalVariableOptionsDef1,
OneOfIpv6AddrGlobalVariableOptionsDef2,
]
remote_as: Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfAsNumOptionsDef1,
OneOfAsNumOptionsDef2,
]
# Set IPv6 BGP address family
address_family: Optional[List[AddressFamily2]]
as_number: Optional[
Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfHoldtimeOptionsDef1,
OneOfHoldtimeOptionsDef2,
]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[
OneOfKeepaliveOptionsDef1,
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfKeepaliveOptionsDef2,
]
]
local_as: Optional[
Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfNeighborPasswordOptionsDef1,
OneOfNeighborPasswordOptionsDef2,
OneOfNeighborPasswordOptionsDef3,
]
]
send_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_ext_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class SdRoutingServiceMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: ServiceMulticloudConnectionIpv4AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class FeatureProfileSdRoutingServiceMulticloudConnectionRedistribute:
protocol: Union[
ServiceMulticloudConnectionOneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1,
OneOfIpv4AddressFamilyRedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class AddressFamily3:
"""
Set IPv4 unicast BGP address family
"""
# Aggregate prefixes in specific range
aggregate_address: Optional[List[AggregateAddress]]
filter: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
name: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
# Configure the networks for BGP to advertise
network: Optional[List[Network]]
originate: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
paths: Optional[
Union[
SdRoutingServiceMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[
List[
FeatureProfileSdRoutingServiceMulticloudConnectionRedistribute
]
]
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionOneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: ServiceMulticloudConnectionIpv6AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class V1FeatureProfileSdRoutingServiceMulticloudConnectionRedistribute:
protocol: Union[
ServiceMulticloudConnectionOneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1,
OneOfIpv6AddressFamilyRedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class ServiceMulticloudConnectionIpv6AddressFamily:
"""
Set BGP address family
"""
filter: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
# IPv6 Aggregate prefixes in specific range
ipv6_aggregate_address: Optional[List[Ipv6AggregateAddress]]
# Configure the networks for BGP to advertise
ipv6_network: Optional[List[Ipv6Network]]
name: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
originate: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
paths: Optional[
Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[
List[
V1FeatureProfileSdRoutingServiceMulticloudConnectionRedistribute
]
]
class SdRoutingServiceMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingServiceMulticloudConnectionNextHop:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
SdRoutingServiceMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class ServiceMulticloudConnectionNextHopWithTracker:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
tracker: Union[
OneOfIpv4NextHopTrackerOptionsDef1,
OneOfIpv4NextHopTrackerOptionsDef2,
]
class FeatureProfileSdRoutingServiceMulticloudConnectionNextHopContainer:
# IPv4 Route Gateway Next Hop
next_hop: Optional[
List[
FeatureProfileSdRoutingServiceMulticloudConnectionNextHop
]
]
# IPv4 Route Gateway Next Hop with Tracker
next_hop_with_tracker: Optional[
List[ServiceMulticloudConnectionNextHopWithTracker]
]
class FeatureProfileSdRoutingServiceMulticloudConnectionOneOfIpRoute1:
next_hop_container: FeatureProfileSdRoutingServiceMulticloudConnectionNextHopContainer
class ServiceMulticloudConnectionIpv4Route:
one_of_ip_route: Union[
FeatureProfileSdRoutingServiceMulticloudConnectionOneOfIpRoute1,
OneOfIpRoute2,
OneOfIpRoute3,
OneOfIpRoute4,
]
# Prefix
prefix: Prefix
class ServiceMulticloudConnectionOneOfIpv6NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class V1FeatureProfileSdRoutingServiceMulticloudConnectionNextHop:
address: Union[
OneOfIpv6NextHopAddressOptionsWithOutDefault1,
OneOfIpv6NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv6NextHopDistanceOptionsDef1,
ServiceMulticloudConnectionOneOfIpv6NextHopDistanceOptionsDef2,
OneOfIpv6NextHopDistanceOptionsDef3,
]
class V1FeatureProfileSdRoutingServiceMulticloudConnectionNextHopContainer:
# IPv6 Route Gateway Next Hop
next_hop: Optional[
List[
V1FeatureProfileSdRoutingServiceMulticloudConnectionNextHop
]
]
class V1FeatureProfileSdRoutingServiceMulticloudConnectionOneOfIpRoute1:
next_hop_container: V1FeatureProfileSdRoutingServiceMulticloudConnectionNextHopContainer
class SdRoutingServiceMulticloudConnectionOneOfIpRoute3:
nat: Union[
OneOfIpv6RouteNatOptionsWithoutDefault1,
OneOfIpv6RouteNatOptionsWithoutDefault2,
]
class ServiceMulticloudConnectionIpv6Route:
one_of_ip_route: Union[
V1FeatureProfileSdRoutingServiceMulticloudConnectionOneOfIpRoute1,
OneOfIpRoute2,
SdRoutingServiceMulticloudConnectionOneOfIpRoute3,
]
prefix: Union[
OneOfIpv6RoutePrefixOptionsDef1,
OneOfIpv6RoutePrefixOptionsDef2,
]
class Data2:
"""
Parameters for the new Connection
"""
# Set IPv4 unicast BGP address family
address_family: Optional[AddressFamily3]
# IPv4 Static Route
ipv4_route: Optional[List[ServiceMulticloudConnectionIpv4Route]]
# Set BGP address family
ipv6_address_family: Optional[
ServiceMulticloudConnectionIpv6AddressFamily
]
# Set BGP IPv6 neighbors
ipv6_neighbor: Optional[
List[ServiceMulticloudConnectionIpv6Neighbor]
]
# IPv6 Static Route
ipv6_route: Optional[List[ServiceMulticloudConnectionIpv6Route]]
# Set BGP IPv4 neighbors
neighbor: Optional[List[ServiceMulticloudConnectionNeighbor]]
class ServiceMulticloudConnectionExtensions:
parcel_type: Union[
ServiceMulticloudConnectionOneOfExtensionsParcelTypeOptionsDef1,
OneOfExtensionsParcelTypeOptionsDef2,
]
# Parameters for the new Connection
data: Optional[Data2]
parcel_id: Optional[
Union[
ServiceMulticloudConnectionOneOfExtensionsParcelIdOptionsDef1,
OneOfExtensionsParcelIdOptionsDef2,
]
]
class Data1:
connection_name: VariableOptionTypeObjectDef
# Extending Bgp Neighbors, Ip Routes, Interface Parcel Id reference and Route Policy for Service Profile to build new Connections
extensions: Optional[List[ServiceMulticloudConnectionExtensions]]
class EditMultiCloudConnectionPutRequest:
"""
SD-Routing multi-cloud-connection profile parcel schema for PUT request
"""
data: Optional[Data1]
description: Optional[str]
name: Optional[str]