from typing import Any, Dict, List, Literal, Optional, Union
VariableOptionTypeDef = Literal["variable"]
GlobalOptionTypeDef = Literal["global"]
ExtensionsParcelTypeDef = Literal[
"global-vrf",
"global-vrf/routing/bgp",
"global-vrf/wan/interface/ipsec",
"management-vrf",
"management-vrf/interface/ethernet",
"vrf/routing/bgp",
"vrf/wan/interface/ethernet",
"vrf/wan/interface/gre",
"vrf/wan/interface/ipsec",
]
DefaultOptionTypeDef = Literal["default"]
Value = Literal["ipv4-unicast", "vpnv4-unicast", "vpnv6-unicast"]
MulticloudConnectionValue = Literal["disable-peer", "warning-only"]
TransportMulticloudConnectionValue = Literal[
"ipv6-unicast", "vpnv6-unicast"
]
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"
]
Ipv4GatewayDef = Literal["dhcp", "nextHop", "null0"]
DefaultIpv4GatewayDef = Literal["nextHop"]
Ipv6RouteNatDef = Literal["NAT64", "NAT66"]
MulticloudConnectionExtensionsParcelTypeDef = Literal[
"global-vrf",
"global-vrf/routing/bgp",
"global-vrf/wan/interface/ipsec",
"management-vrf",
"management-vrf/interface/ethernet",
"vrf/routing/bgp",
"vrf/wan/interface/ethernet",
"vrf/wan/interface/gre",
"vrf/wan/interface/ipsec",
]
SdRoutingTransportMulticloudConnectionValue = Literal[
"disable-peer", "warning-only"
]
FeatureProfileSdRoutingTransportMulticloudConnectionValue = Literal[
"ipv6-unicast", "vpnv6-unicast"
]
V1FeatureProfileSdRoutingTransportMulticloudConnectionValue = Literal[
"disable-peer", "warning-only"
]
MulticloudConnectionIpv4AddressFamilyRedistributeProtocolDef = (
Literal["connected", "nat", "ospf", "ospfv3", "static"]
)
MulticloudConnectionIpv6AddressFamilyRedistributeProtocolDef = (
Literal["connected", "ospf", "static"]
)
MulticloudConnectionIpv4GatewayDef = Literal[
"dhcp", "nextHop", "null0"
]
MulticloudConnectionDefaultIpv4GatewayDef = Literal["nextHop"]
TransportMulticloudConnectionExtensionsParcelTypeDef = Literal[
"global-vrf",
"global-vrf/routing/bgp",
"global-vrf/wan/interface/ipsec",
"management-vrf",
"management-vrf/interface/ethernet",
"vrf/routing/bgp",
"vrf/wan/interface/ethernet",
"vrf/wan/interface/gre",
"vrf/wan/interface/ipsec",
]
Value1 = Literal["disable-peer", "warning-only"]
Value2 = Literal["ipv6-unicast", "vpnv6-unicast"]
Value3 = Literal["disable-peer", "warning-only"]
TransportMulticloudConnectionIpv4AddressFamilyRedistributeProtocolDef = Literal[
"connected", "nat", "ospf", "ospfv3", "static"
]
TransportMulticloudConnectionIpv6AddressFamilyRedistributeProtocolDef = Literal[
"connected", "ospf", "static"
]
TransportMulticloudConnectionIpv4GatewayDef = Literal[
"dhcp", "nextHop", "null0"
]
TransportMulticloudConnectionDefaultIpv4GatewayDef = Literal[
"nextHop"
]
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: GlobalOptionTypeDef
value: int
class OneOfKeepaliveOptionsDef2:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
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 OneOfOnBooleanDefaultFalseNoVariableOptionsDef1:
option_type: GlobalOptionTypeDef
value: bool
class OneOfOnBooleanDefaultFalseNoVariableOptionsDef2:
option_type: DefaultOptionTypeDef
value: bool
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 WanIpv4NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
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 TransportMulticloudConnectionPolicyType:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
"""
option_type: GlobalOptionTypeDef
value: MulticloudConnectionValue # 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: TransportMulticloudConnectionPolicyType
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: WanIpv4NeighborAfTypeDef
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[
OneOfOnBooleanDefaultFalseNoVariableOptionsDef1,
OneOfOnBooleanDefaultFalseNoVariableOptionsDef2,
]
]
send_label_explicit: 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 WanIpv6NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: TransportMulticloudConnectionValue # pytype: disable=annotation-type-mismatch
class MulticloudConnectionAddressFamily:
family_type: WanIpv6NeighborAfTypeDef
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 TransportMulticloudConnectionAddressFamily:
"""
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 MulticloudConnectionOneOfIpV4AddressOptionsDef2:
option_type: GlobalOptionTypeDef
value: str
class Prefix:
"""
Prefix
"""
ip_address: Union[
OneOfIpV4AddressOptionsDef1,
MulticloudConnectionOneOfIpV4AddressOptionsDef2,
]
subnet_mask: Union[
OneOfIpV4SubnetMaskOptionsDef1, OneOfIpV4SubnetMaskOptionsDef2
]
class Gateway:
value: Optional[Any]
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 OneOfIpv4GatewayDistanceOptionsDef1:
option_type: VariableOptionTypeDef
value: str
default: Optional[str]
description: Optional[str]
class OneOfIpv4GatewayDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class OneOfIpv4GatewayDistanceOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class Ipv4Route1:
gateway: Gateway
# IPv4 Route Gateway Next Hop
next_hop: List[NextHop]
# Prefix
prefix: Prefix
distance: Optional[
Union[
OneOfIpv4GatewayDistanceOptionsDef1,
OneOfIpv4GatewayDistanceOptionsDef2,
OneOfIpv4GatewayDistanceOptionsDef3,
]
]
class OneOfIpv4RouteGatewayOptionsDef1:
option_type: GlobalOptionTypeDef
value: Ipv4GatewayDef # pytype: disable=annotation-type-mismatch
class OneOfIpv4RouteGatewayOptionsDef2:
option_type: DefaultOptionTypeDef
value: DefaultIpv4GatewayDef # pytype: disable=annotation-type-mismatch
class Ipv4Route2:
gateway: Union[
OneOfIpv4RouteGatewayOptionsDef1,
OneOfIpv4RouteGatewayOptionsDef2,
]
# Prefix
prefix: Prefix
distance: Optional[
Union[
OneOfIpv4GatewayDistanceOptionsDef1,
OneOfIpv4GatewayDistanceOptionsDef2,
OneOfIpv4GatewayDistanceOptionsDef3,
]
]
# IPv4 Route Gateway Next Hop
next_hop: Optional[List[NextHop]]
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 NextHopContainer:
# IPv6 Route Gateway Next Hop
next_hop: Optional[List[MulticloudConnectionNextHop]]
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 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 OneOfIpRoute3:
nat: Union[
OneOfIpv6RouteNatOptionsWithoutDefault1,
OneOfIpv6RouteNatOptionsWithoutDefault2,
]
class Ipv6Route:
one_of_ip_route: Union[
OneOfIpRoute1, OneOfIpRoute2, OneOfIpRoute3
]
prefix: Union[
OneOfIpv6RoutePrefixOptionsDef1,
OneOfIpv6RoutePrefixOptionsDef2,
]
class TransportMulticloudConnectionData:
"""
Parameters for the new Connection
"""
# Set IPv4 unicast BGP address family
address_family: Optional[
TransportMulticloudConnectionAddressFamily
]
# IPv4 Static Route
ipv4_route: Optional[List[Union[Ipv4Route1, Ipv4Route2]]]
# 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[TransportMulticloudConnectionData]
parcel_id: Optional[
Union[
OneOfExtensionsParcelIdOptionsDef1,
OneOfExtensionsParcelIdOptionsDef2,
]
]
class MulticloudConnectionData:
connection_name: VariableOptionTypeObjectDef
# Extending Bgp Neighbors, Ip Routes, Interface Parcel Id reference and Route Policy for Transport Profile to build new Connections
extensions: Optional[List[Extensions]]
class Payload:
"""
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]
# multi-cloud-connection profile parcel schema for POST request
payload: Optional[Payload]
class GetListSdRoutingTransportVrfWanMulticloudConnectionPayload:
data: Optional[List[Data]]
class CreateMultiCloudConnection1PostResponse:
"""
Profile Parcel POST Response schema
"""
parcel_id: str
metadata: Optional[Any]
class SdRoutingTransportMulticloudConnectionData:
connection_name: VariableOptionTypeObjectDef
# Extending Bgp Neighbors, Ip Routes, Interface Parcel Id reference and Route Policy for Transport Profile to build new Connections
extensions: Optional[List[Extensions]]
class CreateMultiCloudConnection1PostRequest:
"""
multi-cloud-connection profile parcel schema for POST request
"""
data: Optional[SdRoutingTransportMulticloudConnectionData]
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 MulticloudConnectionOneOfKeepaliveOptionsDef1:
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 MulticloudConnectionWanIpv4NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
class SdRoutingTransportMulticloudConnectionPolicyType:
"""
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: SdRoutingTransportMulticloudConnectionPolicyType
prefix_num: Union[
MulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
restart_interval: Union[
MulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2,
]
threshold: Union[
MulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
MulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class FeatureProfileSdRoutingTransportMulticloudConnectionPolicyType:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is warning-only or disable-peer.
"""
option_type: GlobalOptionTypeDef
value: SdRoutingTransportMulticloudConnectionValue # pytype: disable=annotation-type-mismatch
class TransportMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
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: (
FeatureProfileSdRoutingTransportMulticloudConnectionPolicyType
)
prefix_num: Union[
TransportMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
threshold: Union[
TransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
TransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class SdRoutingTransportMulticloudConnectionAddressFamily:
family_type: MulticloudConnectionWanIpv4NeighborAfTypeDef
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[SdRoutingTransportMulticloudConnectionAddressFamily]
]
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[
MulticloudConnectionOneOfKeepaliveOptionsDef1,
OneOfKeepaliveOptionsDef2,
]
]
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[
OneOfOnBooleanDefaultFalseNoVariableOptionsDef1,
OneOfOnBooleanDefaultFalseNoVariableOptionsDef2,
]
]
send_label_explicit: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class TransportMulticloudConnectionOneOfNeighborDescriptionOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class TransportMulticloudConnectionOneOfAsNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class TransportMulticloudConnectionOneOfLocalAsOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class TransportMulticloudConnectionOneOfKeepaliveOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfHoldtimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfNeighborPasswordOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class TransportMulticloudConnectionOneOfNeighborAsNumberOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionWanIpv6NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: FeatureProfileSdRoutingTransportMulticloudConnectionValue # pytype: disable=annotation-type-mismatch
class V1FeatureProfileSdRoutingTransportMulticloudConnectionPolicyType:
"""
Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
"""
option_type: GlobalOptionTypeDef
value: Any
class SdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionNeighborMaxPrefixConfigDef2:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
policy_type: V1FeatureProfileSdRoutingTransportMulticloudConnectionPolicyType
prefix_num: Union[
SdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
restart_interval: Union[
TransportMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2,
]
threshold: Union[
SdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
SdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
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: V1FeatureProfileSdRoutingTransportMulticloudConnectionValue # pytype: disable=annotation-type-mismatch
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class TransportMulticloudConnectionNeighborMaxPrefixConfigDef3:
# 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[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
threshold: Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
class FeatureProfileSdRoutingTransportMulticloudConnectionAddressFamily:
family_type: MulticloudConnectionWanIpv6NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
TransportMulticloudConnectionNeighborMaxPrefixConfigDef2,
TransportMulticloudConnectionNeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class MulticloudConnectionIpv6Neighbor:
address: Union[
OneOfIpv6AddrGlobalVariableOptionsDef1,
OneOfIpv6AddrGlobalVariableOptionsDef2,
]
remote_as: Union[
TransportMulticloudConnectionOneOfAsNumOptionsDef1,
OneOfAsNumOptionsDef2,
]
# Set IPv6 BGP address family
address_family: Optional[
List[
FeatureProfileSdRoutingTransportMulticloudConnectionAddressFamily
]
]
as_number: Optional[
Union[
TransportMulticloudConnectionOneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
TransportMulticloudConnectionOneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
TransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
TransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[
TransportMulticloudConnectionOneOfHoldtimeOptionsDef1,
OneOfHoldtimeOptionsDef2,
]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[
TransportMulticloudConnectionOneOfKeepaliveOptionsDef1,
OneOfKeepaliveOptionsDef2,
]
]
local_as: Optional[
Union[
TransportMulticloudConnectionOneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
TransportMulticloudConnectionOneOfNeighborPasswordOptionsDef1,
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 TransportMulticloudConnectionRedistribute:
protocol: Union[
MulticloudConnectionOneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1,
OneOfIpv4AddressFamilyRedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class V1FeatureProfileSdRoutingTransportMulticloudConnectionAddressFamily:
"""
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[TransportMulticloudConnectionRedistribute]
]
class TransportMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionOneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: MulticloudConnectionIpv6AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class SdRoutingTransportMulticloudConnectionRedistribute:
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[
TransportMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[
List[SdRoutingTransportMulticloudConnectionRedistribute]
]
class TransportMulticloudConnectionOneOfIpV4AddressOptionsDef2:
option_type: GlobalOptionTypeDef
value: str
class MulticloudConnectionPrefix:
"""
Prefix
"""
ip_address: Union[
OneOfIpV4AddressOptionsDef1,
TransportMulticloudConnectionOneOfIpV4AddressOptionsDef2,
]
subnet_mask: Union[
OneOfIpV4SubnetMaskOptionsDef1, OneOfIpV4SubnetMaskOptionsDef2
]
class MulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionNextHop:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
MulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
class MulticloudConnectionOneOfIpv4GatewayDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionIpv4Route1:
gateway: Gateway
# IPv4 Route Gateway Next Hop
next_hop: List[TransportMulticloudConnectionNextHop]
# Prefix
prefix: MulticloudConnectionPrefix
distance: Optional[
Union[
OneOfIpv4GatewayDistanceOptionsDef1,
MulticloudConnectionOneOfIpv4GatewayDistanceOptionsDef2,
OneOfIpv4GatewayDistanceOptionsDef3,
]
]
class SdRoutingTransportMulticloudConnectionOneOfIpV4AddressOptionsDef2:
option_type: GlobalOptionTypeDef
value: str
class TransportMulticloudConnectionPrefix:
"""
Prefix
"""
ip_address: Union[
OneOfIpV4AddressOptionsDef1,
SdRoutingTransportMulticloudConnectionOneOfIpV4AddressOptionsDef2,
]
subnet_mask: Union[
OneOfIpV4SubnetMaskOptionsDef1, OneOfIpV4SubnetMaskOptionsDef2
]
class MulticloudConnectionOneOfIpv4RouteGatewayOptionsDef1:
option_type: GlobalOptionTypeDef
value: MulticloudConnectionIpv4GatewayDef # pytype: disable=annotation-type-mismatch
class MulticloudConnectionOneOfIpv4RouteGatewayOptionsDef2:
option_type: DefaultOptionTypeDef
value: MulticloudConnectionDefaultIpv4GatewayDef # pytype: disable=annotation-type-mismatch
class TransportMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionNextHop:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
TransportMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
class TransportMulticloudConnectionOneOfIpv4GatewayDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class MulticloudConnectionIpv4Route2:
gateway: Union[
MulticloudConnectionOneOfIpv4RouteGatewayOptionsDef1,
MulticloudConnectionOneOfIpv4RouteGatewayOptionsDef2,
]
# Prefix
prefix: TransportMulticloudConnectionPrefix
distance: Optional[
Union[
OneOfIpv4GatewayDistanceOptionsDef1,
TransportMulticloudConnectionOneOfIpv4GatewayDistanceOptionsDef2,
OneOfIpv4GatewayDistanceOptionsDef3,
]
]
# IPv4 Route Gateway Next Hop
next_hop: Optional[
List[SdRoutingTransportMulticloudConnectionNextHop]
]
class MulticloudConnectionOneOfIpv6NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingTransportMulticloudConnectionNextHop:
address: Union[
OneOfIpv6NextHopAddressOptionsWithOutDefault1,
OneOfIpv6NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv6NextHopDistanceOptionsDef1,
MulticloudConnectionOneOfIpv6NextHopDistanceOptionsDef2,
OneOfIpv6NextHopDistanceOptionsDef3,
]
class MulticloudConnectionNextHopContainer:
# IPv6 Route Gateway Next Hop
next_hop: Optional[
List[
FeatureProfileSdRoutingTransportMulticloudConnectionNextHop
]
]
class MulticloudConnectionOneOfIpRoute1:
next_hop_container: MulticloudConnectionNextHopContainer
class MulticloudConnectionIpv6Route:
one_of_ip_route: Union[
MulticloudConnectionOneOfIpRoute1,
OneOfIpRoute2,
OneOfIpRoute3,
]
prefix: Union[
OneOfIpv6RoutePrefixOptionsDef1,
OneOfIpv6RoutePrefixOptionsDef2,
]
class V1FeatureProfileSdRoutingTransportMulticloudConnectionData:
"""
Parameters for the new Connection
"""
# Set IPv4 unicast BGP address family
address_family: Optional[
V1FeatureProfileSdRoutingTransportMulticloudConnectionAddressFamily
]
# IPv4 Static Route
ipv4_route: Optional[
List[
Union[
MulticloudConnectionIpv4Route1,
MulticloudConnectionIpv4Route2,
]
]
]
# 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[
V1FeatureProfileSdRoutingTransportMulticloudConnectionData
]
parcel_id: Optional[
Union[
MulticloudConnectionOneOfExtensionsParcelIdOptionsDef1,
OneOfExtensionsParcelIdOptionsDef2,
]
]
class FeatureProfileSdRoutingTransportMulticloudConnectionData:
connection_name: VariableOptionTypeObjectDef
# Extending Bgp Neighbors, Ip Routes, Interface Parcel Id reference and Route Policy for Transport Profile to build new Connections
extensions: Optional[List[MulticloudConnectionExtensions]]
class MulticloudConnectionPayload:
"""
multi-cloud-connection profile parcel schema for PUT request
"""
data: Optional[
FeatureProfileSdRoutingTransportMulticloudConnectionData
]
description: Optional[str]
name: Optional[str]
class GetSingleSdRoutingTransportVrfWanMulticloudConnectionPayload:
# 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]
# multi-cloud-connection profile parcel schema for PUT request
payload: Optional[MulticloudConnectionPayload]
class EditMultiCloudConnection1PutResponse:
"""
Profile Parcel PUT Response schema
"""
id: str
metadata: Optional[Any]
class TransportMulticloudConnectionOneOfExtensionsParcelTypeOptionsDef1:
option_type: GlobalOptionTypeDef
value: TransportMulticloudConnectionExtensionsParcelTypeDef # pytype: disable=annotation-type-mismatch
class TransportMulticloudConnectionOneOfExtensionsParcelIdOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class SdRoutingTransportMulticloudConnectionOneOfNeighborDescriptionOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class SdRoutingTransportMulticloudConnectionOneOfAsNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class SdRoutingTransportMulticloudConnectionOneOfLocalAsOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class SdRoutingTransportMulticloudConnectionOneOfKeepaliveOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionOneOfHoldtimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionOneOfNeighborPasswordOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class SdRoutingTransportMulticloudConnectionOneOfNeighborAsNumberOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionWanIpv4NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Value # pytype: disable=annotation-type-mismatch
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 V1FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class V1FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class V1FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class SdRoutingTransportMulticloudConnectionNeighborMaxPrefixConfigDef2:
# Neighbor maximum prefix policy is enabled, when maximum prefix threshold is exceeded, policy action is restarting device.
policy_type: PolicyType2
prefix_num: Union[
V1FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixNumOptionsDef1,
OneOfNeighborMaxPrefixNumOptionsDef2,
]
restart_interval: Union[
SdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
OneOfNeighborMaxPrefixExceedRestartTimeOptionsDef2,
]
threshold: Union[
V1FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef1,
OneOfNeighborAddressFamilyThresholdOptionsDef2,
V1FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAddressFamilyThresholdOptionsDef3,
]
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: Value1 # 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 SdRoutingTransportMulticloudConnectionNeighborMaxPrefixConfigDef3:
# 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: TransportMulticloudConnectionWanIpv4NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
SdRoutingTransportMulticloudConnectionNeighborMaxPrefixConfigDef2,
SdRoutingTransportMulticloudConnectionNeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class TransportMulticloudConnectionNeighbor:
address: Union[
OneOfIpV4AddressOptionsDef1, OneOfIpV4AddressOptionsDef2
]
remote_as: Union[
SdRoutingTransportMulticloudConnectionOneOfAsNumOptionsDef1,
OneOfAsNumOptionsDef2,
]
# Set BGP address family
address_family: Optional[List[AddressFamily1]]
as_number: Optional[
Union[
SdRoutingTransportMulticloudConnectionOneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
SdRoutingTransportMulticloudConnectionOneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
SdRoutingTransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
SdRoutingTransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[
SdRoutingTransportMulticloudConnectionOneOfHoldtimeOptionsDef1,
OneOfHoldtimeOptionsDef2,
]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[
SdRoutingTransportMulticloudConnectionOneOfKeepaliveOptionsDef1,
OneOfKeepaliveOptionsDef2,
]
]
local_as: Optional[
Union[
SdRoutingTransportMulticloudConnectionOneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
SdRoutingTransportMulticloudConnectionOneOfNeighborPasswordOptionsDef1,
OneOfNeighborPasswordOptionsDef2,
OneOfNeighborPasswordOptionsDef3,
]
]
send_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_ext_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_label: Optional[
Union[
OneOfOnBooleanDefaultFalseNoVariableOptionsDef1,
OneOfOnBooleanDefaultFalseNoVariableOptionsDef2,
]
]
send_label_explicit: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborDescriptionOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfAsNumOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfLocalAsOptionsDef1:
option_type: GlobalOptionTypeDef
value: Union[int, str]
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfKeepaliveOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfHoldtimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3:
option_type: DefaultOptionTypeDef
value: int
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborPasswordOptionsDef1:
option_type: GlobalOptionTypeDef
value: str
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAsNumberOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionWanIpv6NeighborAfTypeDef:
option_type: GlobalOptionTypeDef
value: Value2 # pytype: disable=annotation-type-mismatch
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 FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class FeatureProfileSdRoutingTransportMulticloudConnectionNeighborMaxPrefixConfigDef2:
# 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[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborMaxPrefixExceedRestartTimeOptionsDef1,
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: Value3 # 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 FeatureProfileSdRoutingTransportMulticloudConnectionNeighborMaxPrefixConfigDef3:
# 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: TransportMulticloudConnectionWanIpv6NeighborAfTypeDef
in_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
max_prefix_config: Optional[
Union[
NeighborMaxPrefixConfigDef1,
FeatureProfileSdRoutingTransportMulticloudConnectionNeighborMaxPrefixConfigDef2,
FeatureProfileSdRoutingTransportMulticloudConnectionNeighborMaxPrefixConfigDef3,
]
]
out_route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class TransportMulticloudConnectionIpv6Neighbor:
address: Union[
OneOfIpv6AddrGlobalVariableOptionsDef1,
OneOfIpv6AddrGlobalVariableOptionsDef2,
]
remote_as: Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfAsNumOptionsDef1,
OneOfAsNumOptionsDef2,
]
# Set IPv6 BGP address family
address_family: Optional[List[AddressFamily2]]
as_number: Optional[
Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborAsNumberOptionsDef1,
OneOfNeighborAsNumberOptionsDef2,
OneOfNeighborAsNumberOptionsDef3,
]
]
as_override: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
description: Optional[
Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborDescriptionOptionsDef1,
OneOfNeighborDescriptionOptionsDef2,
OneOfNeighborDescriptionOptionsDef3,
]
]
ebgp_multihop: Optional[
Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef1,
OneOfNeighborEbgpMultihopOptionsDef2,
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborEbgpMultihopOptionsDef3,
]
]
holdtime: Optional[
Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfHoldtimeOptionsDef1,
OneOfHoldtimeOptionsDef2,
]
]
if_name: Optional[
Union[
OneOfInterfaceNameOptionsDef1,
OneOfInterfaceNameOptionsDef2,
OneOfInterfaceNameOptionsDef3,
]
]
keepalive: Optional[
Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfKeepaliveOptionsDef1,
OneOfKeepaliveOptionsDef2,
]
]
local_as: Optional[
Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfLocalAsOptionsDef1,
OneOfLocalAsOptionsDef2,
OneOfLocalAsOptionsDef3,
]
]
next_hop_self: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
password: Optional[
Union[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfNeighborPasswordOptionsDef1,
OneOfNeighborPasswordOptionsDef2,
OneOfNeighborPasswordOptionsDef3,
]
]
send_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
send_ext_community: Optional[
Union[
OneOfOnBooleanDefaultTrueOptionsDef1,
OneOfOnBooleanDefaultTrueOptionsDef2,
OneOfOnBooleanDefaultTrueOptionsDef3,
]
]
shutdown: Optional[
Union[
OneOfOnBooleanDefaultFalseOptionsDef1,
OneOfOnBooleanDefaultFalseOptionsDef2,
OneOfOnBooleanDefaultFalseOptionsDef3,
]
]
class SdRoutingTransportMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: TransportMulticloudConnectionIpv4AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class FeatureProfileSdRoutingTransportMulticloudConnectionRedistribute:
protocol: Union[
TransportMulticloudConnectionOneOfIpv4AddressFamilyRedistributeProtocolOptionsDef1,
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[
SdRoutingTransportMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[
List[
FeatureProfileSdRoutingTransportMulticloudConnectionRedistribute
]
]
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionOneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1:
option_type: GlobalOptionTypeDef
value: TransportMulticloudConnectionIpv6AddressFamilyRedistributeProtocolDef # pytype: disable=annotation-type-mismatch
class V1FeatureProfileSdRoutingTransportMulticloudConnectionRedistribute:
protocol: Union[
TransportMulticloudConnectionOneOfIpv6AddressFamilyRedistributeProtocolOptionsDef1,
OneOfIpv6AddressFamilyRedistributeProtocolOptionsDef2,
]
route_policy: Optional[
Union[
OneOfRoutePolicyNameOptionsDef1,
OneOfRoutePolicyNameOptionsDef2,
]
]
class TransportMulticloudConnectionIpv6AddressFamily:
"""
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[
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfAddressFamilyPathsOptionsDef1,
OneOfAddressFamilyPathsOptionsDef2,
OneOfAddressFamilyPathsOptionsDef3,
]
]
# Redistribute routes into BGP
redistribute: Optional[
List[
V1FeatureProfileSdRoutingTransportMulticloudConnectionRedistribute
]
]
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfIpV4AddressOptionsDef2:
option_type: GlobalOptionTypeDef
value: str
class SdRoutingTransportMulticloudConnectionPrefix:
"""
Prefix
"""
ip_address: Union[
OneOfIpV4AddressOptionsDef1,
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfIpV4AddressOptionsDef2,
]
subnet_mask: Union[
OneOfIpV4SubnetMaskOptionsDef1, OneOfIpV4SubnetMaskOptionsDef2
]
class SdRoutingTransportMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class V1FeatureProfileSdRoutingTransportMulticloudConnectionNextHop:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
SdRoutingTransportMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
class SdRoutingTransportMulticloudConnectionOneOfIpv4GatewayDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionIpv4Route1:
gateway: Gateway
# IPv4 Route Gateway Next Hop
next_hop: List[
V1FeatureProfileSdRoutingTransportMulticloudConnectionNextHop
]
# Prefix
prefix: SdRoutingTransportMulticloudConnectionPrefix
distance: Optional[
Union[
OneOfIpv4GatewayDistanceOptionsDef1,
SdRoutingTransportMulticloudConnectionOneOfIpv4GatewayDistanceOptionsDef2,
OneOfIpv4GatewayDistanceOptionsDef3,
]
]
class V1FeatureProfileSdRoutingTransportMulticloudConnectionOneOfIpV4AddressOptionsDef2:
option_type: GlobalOptionTypeDef
value: str
class FeatureProfileSdRoutingTransportMulticloudConnectionPrefix:
"""
Prefix
"""
ip_address: Union[
OneOfIpV4AddressOptionsDef1,
V1FeatureProfileSdRoutingTransportMulticloudConnectionOneOfIpV4AddressOptionsDef2,
]
subnet_mask: Union[
OneOfIpV4SubnetMaskOptionsDef1, OneOfIpV4SubnetMaskOptionsDef2
]
class TransportMulticloudConnectionOneOfIpv4RouteGatewayOptionsDef1:
option_type: GlobalOptionTypeDef
value: TransportMulticloudConnectionIpv4GatewayDef # pytype: disable=annotation-type-mismatch
class TransportMulticloudConnectionOneOfIpv4RouteGatewayOptionsDef2:
option_type: DefaultOptionTypeDef
value: TransportMulticloudConnectionDefaultIpv4GatewayDef # pytype: disable=annotation-type-mismatch
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class NextHop1:
address: Union[
OneOfIpv4NextHopAddressOptionsWithOutDefault1,
OneOfIpv4NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv4NextHopDistanceOptionsDef1,
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfIpv4NextHopDistanceOptionsDef2,
OneOfIpv4NextHopDistanceOptionsDef3,
]
class FeatureProfileSdRoutingTransportMulticloudConnectionOneOfIpv4GatewayDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class TransportMulticloudConnectionIpv4Route2:
gateway: Union[
TransportMulticloudConnectionOneOfIpv4RouteGatewayOptionsDef1,
TransportMulticloudConnectionOneOfIpv4RouteGatewayOptionsDef2,
]
# Prefix
prefix: FeatureProfileSdRoutingTransportMulticloudConnectionPrefix
distance: Optional[
Union[
OneOfIpv4GatewayDistanceOptionsDef1,
FeatureProfileSdRoutingTransportMulticloudConnectionOneOfIpv4GatewayDistanceOptionsDef2,
OneOfIpv4GatewayDistanceOptionsDef3,
]
]
# IPv4 Route Gateway Next Hop
next_hop: Optional[List[NextHop1]]
class TransportMulticloudConnectionOneOfIpv6NextHopDistanceOptionsDef2:
option_type: GlobalOptionTypeDef
value: int
class NextHop2:
address: Union[
OneOfIpv6NextHopAddressOptionsWithOutDefault1,
OneOfIpv6NextHopAddressOptionsWithOutDefault2,
]
distance: Union[
OneOfIpv6NextHopDistanceOptionsDef1,
TransportMulticloudConnectionOneOfIpv6NextHopDistanceOptionsDef2,
OneOfIpv6NextHopDistanceOptionsDef3,
]
class TransportMulticloudConnectionNextHopContainer:
# IPv6 Route Gateway Next Hop
next_hop: Optional[List[NextHop2]]
class TransportMulticloudConnectionOneOfIpRoute1:
next_hop_container: TransportMulticloudConnectionNextHopContainer
class TransportMulticloudConnectionIpv6Route:
one_of_ip_route: Union[
TransportMulticloudConnectionOneOfIpRoute1,
OneOfIpRoute2,
OneOfIpRoute3,
]
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[
Union[
TransportMulticloudConnectionIpv4Route1,
TransportMulticloudConnectionIpv4Route2,
]
]
]
# Set BGP address family
ipv6_address_family: Optional[
TransportMulticloudConnectionIpv6AddressFamily
]
# Set BGP IPv6 neighbors
ipv6_neighbor: Optional[
List[TransportMulticloudConnectionIpv6Neighbor]
]
# IPv6 Static Route
ipv6_route: Optional[List[TransportMulticloudConnectionIpv6Route]]
# Set BGP IPv4 neighbors
neighbor: Optional[List[TransportMulticloudConnectionNeighbor]]
class TransportMulticloudConnectionExtensions:
parcel_type: Union[
TransportMulticloudConnectionOneOfExtensionsParcelTypeOptionsDef1,
OneOfExtensionsParcelTypeOptionsDef2,
]
# Parameters for the new Connection
data: Optional[Data2]
parcel_id: Optional[
Union[
TransportMulticloudConnectionOneOfExtensionsParcelIdOptionsDef1,
OneOfExtensionsParcelIdOptionsDef2,
]
]
class Data1:
connection_name: VariableOptionTypeObjectDef
# Extending Bgp Neighbors, Ip Routes, Interface Parcel Id reference and Route Policy for Transport Profile to build new Connections
extensions: Optional[
List[TransportMulticloudConnectionExtensions]
]
class EditMultiCloudConnection1PutRequest:
"""
multi-cloud-connection profile parcel schema for PUT request
"""
data: Optional[Data1]
description: Optional[str]
name: Optional[str]