-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathnxos_svi_interface.tf
More file actions
135 lines (133 loc) · 10.3 KB
/
Copy pathnxos_svi_interface.tf
File metadata and controls
135 lines (133 loc) · 10.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
locals {
interfaces_vlans = flatten([
for device in local.devices : [
for int in try(local.device_config[device.name].interfaces.vlans, []) : {
key = format("%s/%s", device.name, int.id)
device = device.name
id = int.id
type = "vlan"
admin_state = try(int.shutdown, null)
description = try(int.description, null)
vrf = try(int.vrf, "default")
ip_address = try(int.ip.address, null)
delay = try(int.delay, null)
bandwidth = try(int.bandwidth, null)
ip_forward = try(int.ip.forward, null)
ip_drop_glean = try(int.ip.drop_glean, null)
medium = try(int.medium, null)
mtu = try(int.mtu, null)
fabric_forwarding_mode = try(int.fabric_forwarding_mode, null)
ospf_process_name = try(int.ospf.process, null)
ospf_advertise_secondaries = try(int.ospf.advertise_secondaries, null)
ospf_area = try(int.ospf.area, null)
ospf_bfd = try(int.ospf.bfd, null) == null ? null : (try(int.ospf.bfd) ? "enabled" : "disabled")
ospf_cost = try(int.ospf.cost, null)
ospf_dead_interval = try(int.ospf.dead_interval, null)
ospf_hello_interval = try(int.ospf.hello_interval, null)
ospf_network_type = try(int.ospf.network, null)
ospf_passive = try(int.ospf.passive_interface, null) == null ? null : (try(int.ospf.passive_interface) ? "enabled" : "disabled")
ospf_priority = try(int.ospf.priority, null)
ospf_authentication_key = try(int.ospf.authentication_key, null)
ospf_authentication_key_id = try(int.ospf.message_digest_key_id, null)
ospf_authentication_key_secure_mode = try(int.ospf.authentication_key_secure_mode, null)
ospf_authentication_keychain = try(int.ospf.authentication_key_chain, null)
ospf_authentication_md5_key = try(int.ospf.message_digest_key, null)
ospf_authentication_md5_key_secure_mode = try(int.ospf.message_digest_key_secure_mode, null)
ospf_authentication_type = try(int.ospf.authentication, null)
ospf_advertise_subnet = try(int.ospf.advertise_subnet, false)
ospf_mtu_ignore = try(int.ospf.mtu_ignore, false)
ospf_node_flag = try(int.ospf.prefix_attributes_n_flag_clear, null)
ospf_retransmit_interval = try(int.ospf.retransmit_interval, null)
ospf_transmit_delay = try(int.ospf.transmit_delay, null)
ospfv3_process = try(int.ospfv3.process, null)
ospfv3_advertise_secondaries = try(int.ospfv3.advertise_secondaries, null)
ospfv3_area = try(int.ospfv3.area, null)
ospfv3_bfd = try(int.ospfv3.bfd, null) == null ? null : (try(int.ospfv3.bfd) ? "enabled" : "disabled")
ospfv3_cost = try(int.ospfv3.cost, null)
ospfv3_dead_interval = try(int.ospfv3.dead_interval, null)
ospfv3_hello_interval = try(int.ospfv3.hello_interval, null)
ospfv3_network_type = try(int.ospfv3.network, null)
ospfv3_passive_interface = try(int.ospfv3.passive_interface, null) == null ? null : (try(int.ospfv3.passive_interface) ? "enabled" : "disabled")
ospfv3_priority = try(int.ospfv3.priority, null)
ospfv3_instance_id = try(int.ospfv3.instance_id, null)
ospfv3_mtu_ignore = try(int.ospfv3.mtu_ignore, null)
ospfv3_retransmit_interval = try(int.ospfv3.retransmit_interval, null)
ospfv3_transmit_delay = try(int.ospfv3.transmit_delay, null)
pim_bfd = try(int.pim.bfd, null)
pim_dr_priority = try(int.pim.dr_priority, null)
pim_passive = try(int.pim.passive, null)
pim_sparse_mode = try(int.pim.sparse_mode, null)
isis_instance_name = try(int.isis.instance_name, null)
isis_circuit_type = try(int.isis.circuit_type, null)
isis_ipv4 = try(int.isis.ipv4, null)
isis_ipv6 = try(int.isis.ipv6, null)
isis_network_point_to_point = try(int.isis.network_point_to_point, null)
isis_passive_interface = try(int.isis.passive_interface, null)
isis_metric_l1 = try(int.isis.metric_level_1, null)
isis_metric_l2 = try(int.isis.metric_level_2, null)
isis_ipv6_metric_l1 = try(int.isis.ipv6_metric_level_1, null)
isis_ipv6_metric_l2 = try(int.isis.ipv6_metric_level_2, null)
isis_priority_l1 = try(int.isis.priority_level_1, null)
isis_priority_l2 = try(int.isis.priority_level_2, null)
isis_hello_interval = try(int.isis.hello_interval, null)
isis_hello_interval_l1 = try(int.isis.hello_interval_level_1, null)
isis_hello_interval_l2 = try(int.isis.hello_interval_level_2, null)
isis_hello_multiplier = try(int.isis.hello_multiplier, null)
isis_hello_multiplier_l1 = try(int.isis.hello_multiplier_level_1, null)
isis_hello_multiplier_l2 = try(int.isis.hello_multiplier_level_2, null)
isis_hello_padding = try(int.isis.hello_padding, null)
isis_authentication_check = try(int.isis.authentication_check, null)
isis_authentication_check_level_1 = try(int.isis.authentication_check_level_1, null)
isis_authentication_check_level_2 = try(int.isis.authentication_check_level_2, null)
isis_authentication_key_chain = try(int.isis.authentication_key_chain, null)
isis_authentication_key_chain_level_1 = try(int.isis.authentication_key_chain_level_1, null)
isis_authentication_key_chain_level_2 = try(int.isis.authentication_key_chain_level_2, null)
isis_authentication_type = try(int.isis.authentication_type, null)
isis_authentication_type_level_1 = try(int.isis.authentication_type_level_1, null)
isis_authentication_type_level_2 = try(int.isis.authentication_type_level_2, null)
isis_mtu_check = try(int.isis.mtu_check, null)
isis_mtu_check_l1 = try(int.isis.mtu_check_level_1, null)
isis_mtu_check_l2 = try(int.isis.mtu_check_level_2, null)
isis_bfd = try(int.isis.bfd, null) == null ? null : (try(int.isis.bfd) ? "enabled" : "disabled")
isis_ipv6_bfd = try(int.isis.ipv6_bfd, null) == null ? null : (try(int.isis.ipv6_bfd) ? "enabled" : "disabled")
isis_csnp_interval_l1 = try(int.isis.csnp_interval_level_1, null)
isis_csnp_interval_l2 = try(int.isis.csnp_interval_level_2, null)
isis_lsp_interval = try(int.isis.lsp_interval, null)
isis_retransmit_interval = try(int.isis.retransmit_interval, null)
isis_retransmit_throttle_interval = try(int.isis.retransmit_throttle_interval, null)
isis_mesh_group = try(int.isis.mesh_group, null)
isis_mesh_group_blocked = try(int.isis.mesh_group_blocked, null)
isis_n_flag_clear = try(int.isis.prefix_attributes_n_flag_clear, null)
isis_suppress_prefix = try(int.isis.suppressed, null)
}
]
])
}
resource "nxos_svi_interface" "svi_interface" {
for_each = { for device in local.devices : device.name => device
if length(try(local.device_config[device.name].interfaces.vlans, [])) > 0 }
device = each.key
svi_interfaces = length(try(local.device_config[each.key].interfaces.vlans, [])) > 0 ? { for int in try(local.device_config[each.key].interfaces.vlans, []) : "vlan${int.id}" => {
admin_state = try(int.shutdown, null) != null ? (try(int.shutdown) ? "down" : "up") : "up"
bandwidth = try(int.bandwidth, null)
delay = try(int.delay, null)
description = try(int.description, null)
medium = try(int.medium, null) == "broadcast" ? "bcast" : try(int.medium, null)
mtu = try(int.mtu, null)
vrf_dn = "sys/inst-${try(int.vrf, "default")}"
multisite_interface_tracking = try(int.evpn_multisite_dci_tracking, null) == true ? "dci" : try(int.evpn_multisite_fabric_tracking, null) == true ? "fabric" : null
autostate = try(int.autostate, null)
carrier_delay = try(int.carrier_delay, null)
inband_management = try(int.management, null)
load_interval_counter_1 = try(int.load_interval_counter_1, null)
load_interval_counter_2 = try(int.load_interval_counter_2, null)
load_interval_counter_3 = try(int.load_interval_counter_3, null)
mac_address = try(int.mac_address, null)
snmp_trap_link_status = try(int.snmp_trap_link_status, null)
} } : null
depends_on = [
nxos_feature.feature,
nxos_bridge_domain.bridge_domain,
nxos_vrf.vrf,
]
}