Eos designs facts
Variable | Type | Required | Default | Value Restrictions | Description |
---|---|---|---|---|---|
id | Integer | ||||
type | String | Required | |||
platform | String | ||||
is_deployed | Boolean | Required | |||
serial_number | String | ||||
mgmt_interface | String | ||||
mgmt_ip | String | ||||
mpls_lsr | Boolean | Required | |||
evpn_multicast | Boolean | ||||
loopback_ipv4_pool | String | ||||
loopback_ipv6_pool | String | ||||
uplink_ipv4_pool | String | ||||
uplink_ipv6_pool | String | ||||
downlink_pools | List, items: Dictionary | IPv4 pools used for links to downlink switches. Set this on the parent switch. Cannot be combined with uplink_ipv4_pool set on the downlink switch. |
|||
- ipv4_pool | String | Format: ipv4_pool | Comma separated list of prefixes (IPv4 address/Mask) or ranges (IPv4_address-IPv4_address). IPv4 subnets used for links to downlink switches will be derived from this pool based on index the peer’s uplink interface’s index in ‘downlink_interfaces’. |
||
ipv6_pool | String | Format: ipv6_pool | Comma separated list of prefixes (IPv6 address/Mask) or ranges (IPv6_address-IPv6_address). IPv6 subnets used for links to downlink switches will be derived from this pool based on index the peer’s uplink interface’s index in ‘downlink_interfaces’. |
||
downlink_interfaces | List, items: String | List of downlink interfaces or ranges of interfaces to use this pool. The index of the interface in this list will determine which subnet will be taken from the pool. | |||
- <str> | String | ||||
bgp_as | String | ||||
underlay_routing_protocol | String | Required | |||
vtep_loopback_ipv4_pool | String | ||||
inband_mgmt_subnet | String | ||||
inband_mgmt_ipv6_subnet | String | ||||
inband_mgmt_vlan | Integer | ||||
inband_ztp | Boolean | ||||
inband_ztp_vlan | Integer | ||||
inband_ztp_lacp_fallback_delay | Integer | ||||
dc_name | String | ||||
group | String | ||||
router_id | String | ||||
inband_mgmt_ip | String | Used for fabric docs. | |||
inband_mgmt_interface | String | Used for fabric docs. | |||
pod | String | Required | Used for fabric docs. | ||
connected_endpoints_keys | List, items: Dictionary | Required | List of connected_endpoints_keys in use on this device. Used for fabric docs. |
||
- key | String | Required, Unique | |||
type | String | Type used for documentation. | |||
description | String | Description used for documentation. | |||
port_profile_names | List, items: Dictionary | List of port_profiles configured - including the ones not in use. Used for fabric docs. |
|||
- profile | String | Required | |||
parent_profile | String | ||||
mlag_peer | String | ||||
mlag_port_channel_id | Integer | ||||
mlag_interfaces | List, items: String | ||||
- <str> | String | ||||
mlag_ip | String | ||||
mlag_l3_ip | String | ||||
mlag_switch_ids | Dictionary | The switch ids of both primary and secondary switches for a this node group. | |||
primary | Integer | Required | |||
secondary | Integer | Required | |||
evpn_role | String | ||||
mpls_overlay_role | String | ||||
evpn_route_servers | List, items: String | For evpn clients the default value for EVPN Route Servers is the content of the uplink_switches variable set elsewhere. For all other evpn roles there is no default. |
|||
- <str> | String | ||||
mpls_route_reflectors | List, items: String | List of inventory hostname acting as MPLS route-reflectors. | |||
- <str> | String | Inventory_hostname_of_mpls_route_reflectors. | |||
overlay | Dictionary | ||||
peering_address | String | ||||
evpn_mpls | Boolean | Required | |||
vtep_ip | String | ||||
vtep_ipv6 | String | ||||
max_parallel_uplinks | Integer | 1 |
Number of parallel links towards uplink switches. Changing this value may change interface naming on uplinks (and corresponding downlinks). Can be used to reserve interfaces for future parallel uplinks. |
||
max_uplink_switches | Integer | Required | |||
uplinks | List, items: Dictionary | Required | List of uplinks with all parameters These facts are leveraged by templates for this device when rendering uplinks and by templates for peer devices when rendering downlinks |
||
- interface | String | Required | |||
peer | String | Required | |||
peer_interface | String | Required | |||
peer_type | String | Required | |||
peer_is_deployed | Boolean | Required | |||
peer_bgp_as | String | ||||
type | String | Required | Valid Values: - underlay_p2p - underlay_l2 |
||
speed | String | ||||
bfd | Boolean | ||||
peer_speed | String | ||||
ptp | Dictionary | Enable PTP on all infrastructure links. | |||
enable | Boolean | False |
|||
mac_security | Dictionary | ||||
profile | String | Required | |||
underlay_multicast | Boolean | ||||
ipv6_enable | Boolean | ||||
prefix_length | Integer | ||||
ip_address | String | ||||
peer_ip_address | String | ||||
link_tracking_groups | List, items: Dictionary | ||||
- name | String | Required, Unique | |||
direction | String | Required | Valid Values: - upstream - downstream |
||
peer_node_group | String | ||||
node_group | String | ||||
mlag | Boolean | ||||
peer_mlag | Boolean | ||||
channel_group_id | Integer | ||||
peer_channel_group_id | Integer | ||||
trunk_groups | List, items: String | ||||
- <str> | String | ||||
peer_trunk_groups | List, items: String | ||||
- <str> | String | ||||
vlans | String | ||||
native_vlan | Integer | ||||
short_esi | String | ||||
peer_short_esi | String | ||||
spanning_tree_portfast | String | Valid Values: - edge - network |
|||
peer_spanning_tree_portfast | String | Valid Values: - edge - network |
|||
sflow_enabled | Boolean | ||||
flow_tracking | Dictionary | Enable flow-tracking on all fabric uplinks. | |||
enabled | Boolean | False |
|||
name | String | FLOW-TRACKER |
Flow tracker name as defined in flow_tracking_settings. | ||
inband_ztp_vlan | Integer | ||||
inband_ztp_lacp_fallback_delay | Integer | ||||
dhcp_server | Boolean | ||||
structured_config | Dictionary | Custom structured config applied to “uplink_interfaces”, and “uplink_switch_interfaces”. When uplink_type == “p2p”, custom structured config added under ethernet_interfaces.[name= When uplink_type == “port-channel”, custom structured config added under port_channel_interfaces.[name= “uplink_structured_config” is applied after “structured_config”, so it can override “structured_config” defined on node-level. Note! The content of this dictionary is not validated by the schema, since it can be either ethernet_interfaces or port_channel_interfaces. |
|||
subinterfaces | List, items: Dictionary | ||||
- interface | String | Required, Unique | |||
peer_interface | String | Required | |||
vrf | String | Required | |||
encapsulation_dot1q_vlan | Integer | Required | |||
ipv6_enable | Boolean | ||||
prefix_length | Integer | ||||
ipv6_prefix_length | Integer | ||||
ip_address | String | ||||
ipv6_address | String | ||||
peer_ip_address | String | ||||
peer_ipv6_address | String | ||||
structured_config | Dictionary | Custom structured config applied to “uplink_interfaces”, and “uplink_switch_interfaces”. When uplink_type == “p2p”, custom structured config added under ethernet_interfaces.[name= When uplink_type == “port-channel”, custom structured config added under port_channel_interfaces.[name= “uplink_structured_config” is applied after “structured_config”, so it can override “structured_config” defined on node-level. Note! The content of this dictionary is not validated by the schema, since it can be either ethernet_interfaces or port_channel_interfaces. |
|||
uplink_peers | List, items: String | ||||
- <str> | String | ||||
uplink_switch_vrfs | List, items: String | ||||
- <str> | String | ||||
vlans | String | Required | Compressed list of vlans to be defined on this switch after filtering network services. The filter is based on filter.tenants, filter.tags but not filter.only_vlans_in_use. Ex. “1-100, 201-202” This excludes the optional “uplink_native_vlan” if that vlan is not used for anything else. This is to ensure that native vlan is not necessarily permitted on the uplink trunk. |
||
endpoint_vlans | String | Compressed list of vlans in use by endpoints connected to this switch, downstream switches or MLAG peer and it’s downstream switches. | |||
local_endpoint_trunk_groups | List, items: String | List of trunk_groups in use by endpoints connected to this switch. | |||
- <str> | String | ||||
endpoint_trunk_groups | List, items: String | List of trunk_groups in use by endpoints connected to this switch, downstream switches or MLAG peer and it’s downstream switches. | |||
- <str> | String | ||||
wan_path_groups | List, items: Dictionary | List of path-groups used for the WAN configuration. | |||
- interfaces | List, items: Dictionary | ||||
- name | String | Required | |||
public_ip | String | ||||
connected_to_pathfinder | Boolean | Required | |||
wan_circuit_id | String | ||||
name | String | Required, Unique | Path-group name. | ||
id | Integer | Required | Path-group id. Required until an auto ID algorithm is implemented. |
||
description | String | Additional information about the path-group for documentation purposes. | |||
ipsec | Dictionary | Configuration of IPSec at the path-group level. | |||
dynamic_peers | Boolean | True |
Enable IPSec for dynamic peers. | ||
static_peers | Boolean | True |
Enable IPSec for static peers. | ||
import_path_groups | List, items: Dictionary | List of path-groups to import in this path-group. | |||
- remote | String | Remote path-group to import. | |||
local | String | Optional, if not set, the path-group name is used as local. |
|||
default_preference | String | preferred |
Preference value used when a preference is not given for a path-group in the wan_virtual_topologies.policies input or whenthe path-group is used in an auto generated policy except if excluded_from_default_policy is set to true.<br><br>Valid values are 1-65535 | "preferred" | "alternate".<br><br> preferredis converted to priority 1.<br> alternate` is converted to priority 2. |
||
excluded_from_default_policy | Boolean | False |
When set to true , the path-group is excluded from AVD auto generated policies. |
||
dps_keepalive | Dictionary | Period between the transmission of consecutive keepalive messages, and failure threshold. | |||
interval | String | Interval in milliseconds. Valid values are 50-60000 | |||
failure_threshold | Integer | 5 |
Min: 2 Max: 100 |
Failure threshold in number of lost keep-alive messages. | |
uplink_switch_interfaces | List, items: String | ||||
- <str> | String | ||||
downlink_switches | List, items: String | ||||
- <str> | String | ||||
evpn_route_server_clients | List, items: String | ||||
- <str> | String | ||||
mpls_route_reflector_clients | List, items: String | ||||
- <str> | String |
id: <int>
type: <str; required>
platform: <str>
is_deployed: <bool; required>
serial_number: <str>
mgmt_interface: <str>
mgmt_ip: <str>
mpls_lsr: <bool; required>
evpn_multicast: <bool>
loopback_ipv4_pool: <str>
loopback_ipv6_pool: <str>
uplink_ipv4_pool: <str>
uplink_ipv6_pool: <str>
# IPv4 pools used for links to downlink switches. Set this on the parent switch. Cannot be combined with `uplink_ipv4_pool` set on the downlink switch.
downlink_pools:
# Comma separated list of prefixes (IPv4 address/Mask) or ranges (IPv4_address-IPv4_address).
# IPv4 subnets used for links to downlink switches will be derived from this pool based on index the peer's uplink interface's index in 'downlink_interfaces'.
- ipv4_pool: <str>
# Comma separated list of prefixes (IPv6 address/Mask) or ranges (IPv6_address-IPv6_address).
# IPv6 subnets used for links to downlink switches will be derived from this pool based on index the peer's uplink interface's index in 'downlink_interfaces'.
ipv6_pool: <str>
# List of downlink interfaces or ranges of interfaces to use this pool. The index of the interface in this list will determine which subnet will be taken from the pool.
downlink_interfaces:
- <str>
bgp_as: <str>
underlay_routing_protocol: <str; required>
vtep_loopback_ipv4_pool: <str>
inband_mgmt_subnet: <str>
inband_mgmt_ipv6_subnet: <str>
inband_mgmt_vlan: <int>
inband_ztp: <bool>
inband_ztp_vlan: <int>
inband_ztp_lacp_fallback_delay: <int>
dc_name: <str>
group: <str>
router_id: <str>
# Used for fabric docs.
inband_mgmt_ip: <str>
# Used for fabric docs.
inband_mgmt_interface: <str>
# Used for fabric docs.
pod: <str; required>
# List of connected_endpoints_keys in use on this device.
# Used for fabric docs.
connected_endpoints_keys: # required
- key: <str; required; unique>
# Type used for documentation.
type: <str>
# Description used for documentation.
description: <str>
# List of port_profiles configured - including the ones not in use.
# Used for fabric docs.
port_profile_names:
- profile: <str; required>
parent_profile: <str>
mlag_peer: <str>
mlag_port_channel_id: <int>
mlag_interfaces:
- <str>
mlag_ip: <str>
mlag_l3_ip: <str>
# The switch ids of both primary and secondary switches for a this node group.
mlag_switch_ids:
primary: <int; required>
secondary: <int; required>
evpn_role: <str>
mpls_overlay_role: <str>
# For evpn clients the default value for EVPN Route Servers is the content of the uplink_switches variable set elsewhere.
# For all other evpn roles there is no default.
evpn_route_servers:
- <str>
# List of inventory hostname acting as MPLS route-reflectors.
mpls_route_reflectors:
# Inventory_hostname_of_mpls_route_reflectors.
- <str>
overlay:
peering_address: <str>
evpn_mpls: <bool; required>
vtep_ip: <str>
vtep_ipv6: <str>
# Number of parallel links towards uplink switches.
# Changing this value may change interface naming on uplinks (and corresponding downlinks).
# Can be used to reserve interfaces for future parallel uplinks.
max_parallel_uplinks: <int; default=1>
max_uplink_switches: <int; required>
# List of uplinks with all parameters
# These facts are leveraged by templates for this device when rendering uplinks
# and by templates for peer devices when rendering downlinks
uplinks: # required
- interface: <str; required>
peer: <str; required>
peer_interface: <str; required>
peer_type: <str; required>
peer_is_deployed: <bool; required>
peer_bgp_as: <str>
type: <str; "underlay_p2p" | "underlay_l2"; required>
speed: <str>
bfd: <bool>
peer_speed: <str>
# Enable PTP on all infrastructure links.
ptp:
enable: <bool; default=False>
mac_security:
profile: <str; required>
underlay_multicast: <bool>
ipv6_enable: <bool>
prefix_length: <int>
ip_address: <str>
peer_ip_address: <str>
link_tracking_groups:
- name: <str; required; unique>
direction: <str; "upstream" | "downstream"; required>
peer_node_group: <str>
node_group: <str>
mlag: <bool>
peer_mlag: <bool>
channel_group_id: <int>
peer_channel_group_id: <int>
trunk_groups:
- <str>
peer_trunk_groups:
- <str>
vlans: <str>
native_vlan: <int>
short_esi: <str>
peer_short_esi: <str>
spanning_tree_portfast: <str; "edge" | "network">
peer_spanning_tree_portfast: <str; "edge" | "network">
sflow_enabled: <bool>
# Enable flow-tracking on all fabric uplinks.
flow_tracking:
enabled: <bool; default=False>
# Flow tracker name as defined in flow_tracking_settings.
name: <str; default="FLOW-TRACKER">
inband_ztp_vlan: <int>
inband_ztp_lacp_fallback_delay: <int>
dhcp_server: <bool>
# Custom structured config applied to "uplink_interfaces", and "uplink_switch_interfaces".
# When uplink_type == "p2p", custom structured config added under ethernet_interfaces.[name=<interface>] for eos_cli_config_gen overrides the settings on the ethernet interface level.
# When uplink_type == "port-channel", custom structured config added under port_channel_interfaces.[name=<interface>] for eos_cli_config_gen overrides the settings on the port-channel interface level.
# "uplink_structured_config" is applied after "structured_config", so it can override "structured_config" defined on node-level.
# Note! The content of this dictionary is _not_ validated by the schema, since it can be either ethernet_interfaces or port_channel_interfaces.
structured_config: <dict>
subinterfaces:
- interface: <str; required; unique>
peer_interface: <str; required>
vrf: <str; required>
encapsulation_dot1q_vlan: <int; required>
ipv6_enable: <bool>
prefix_length: <int>
ipv6_prefix_length: <int>
ip_address: <str>
ipv6_address: <str>
peer_ip_address: <str>
peer_ipv6_address: <str>
# Custom structured config applied to "uplink_interfaces", and "uplink_switch_interfaces".
# When uplink_type == "p2p", custom structured config added under ethernet_interfaces.[name=<interface>] for eos_cli_config_gen overrides the settings on the ethernet interface level.
# When uplink_type == "port-channel", custom structured config added under port_channel_interfaces.[name=<interface>] for eos_cli_config_gen overrides the settings on the port-channel interface level.
# "uplink_structured_config" is applied after "structured_config", so it can override "structured_config" defined on node-level.
# Note! The content of this dictionary is _not_ validated by the schema, since it can be either ethernet_interfaces or port_channel_interfaces.
structured_config: <dict>
uplink_peers:
- <str>
uplink_switch_vrfs:
- <str>
# Compressed list of vlans to be defined on this switch after filtering network services.
# The filter is based on filter.tenants, filter.tags but not filter.only_vlans_in_use.
#
# Ex. "1-100, 201-202"
#
# This excludes the optional "uplink_native_vlan" if that vlan is not used for anything else.
# This is to ensure that native vlan is not necessarily permitted on the uplink trunk.
vlans: <str; required>
# Compressed list of vlans in use by endpoints connected to this switch, downstream switches or MLAG peer and it's downstream switches.
endpoint_vlans: <str>
# List of trunk_groups in use by endpoints connected to this switch.
local_endpoint_trunk_groups:
- <str>
# List of trunk_groups in use by endpoints connected to this switch, downstream switches or MLAG peer and it's downstream switches.
endpoint_trunk_groups:
- <str>
# List of path-groups used for the WAN configuration.
wan_path_groups:
- interfaces:
- name: <str; required>
public_ip: <str>
connected_to_pathfinder: <bool; required>
wan_circuit_id: <str>
# Path-group name.
name: <str; required; unique>
# Path-group id.
# Required until an auto ID algorithm is implemented.
id: <int; required>
# Additional information about the path-group for documentation purposes.
description: <str>
# Configuration of IPSec at the path-group level.
ipsec:
# Enable IPSec for dynamic peers.
dynamic_peers: <bool; default=True>
# Enable IPSec for static peers.
static_peers: <bool; default=True>
# List of path-groups to import in this path-group.
import_path_groups:
# Remote path-group to import.
- remote: <str>
# Optional, if not set, the path-group `name` is used as local.
local: <str>
# Preference value used when a preference is not given for a path-group in the `wan_virtual_topologies.policies` input or when
# the path-group is used in an auto generated policy except if `excluded_from_default_policy` is set to `true.
#
# Valid values are 1-65535 | "preferred" | "alternate".
#
# `preferred` is converted to priority 1.
# `alternate` is converted to priority 2.
default_preference: <str; default="preferred">
# When set to `true`, the path-group is excluded from AVD auto generated policies.
excluded_from_default_policy: <bool; default=False>
# Period between the transmission of consecutive keepalive messages, and failure threshold.
dps_keepalive:
# Interval in milliseconds. Valid values are 50-60000 | "auto".
#
# When auto, the interval and failure_threshold are automatically determined based on
# path state.
interval: <str>
# Failure threshold in number of lost keep-alive messages.
failure_threshold: <int; 2-100; default=5>
uplink_switch_interfaces:
- <str>
downlink_switches:
- <str>
evpn_route_server_clients:
- <str>
mpls_route_reflector_clients:
- <str>