From 1aaf6b2cf1f7bf552826aa985b4b89010af27a69 Mon Sep 17 00:00:00 2001 From: Dan Date: Fri, 7 Nov 2025 23:17:23 +0000 Subject: [PATCH 1/2] feat(ospf): Add advanced OSPF configuration module mapping for Epic #510 - Map 17 router-level OSPF attributes (both VRF and non-VRF contexts) - Map 1 interface-level OSPF attribute (multi-area IDs) - Use try() pattern for optional attributes with defaults fallback - Note: fast-reroute is non-VRF only per YANG model Implements Epic #510 Depends on CiscoDevNet/terraform-provider-iosxe#TBD Depends on netascode/nac-iosxe#TBD --- iosxe_interfaces.tf | 8 +- iosxe_ospf.tf | 192 ++++++++++++++++++++++++++++---------------- 2 files changed, 131 insertions(+), 69 deletions(-) diff --git a/iosxe_interfaces.tf b/iosxe_interfaces.tf index 566937a..c588131 100644 --- a/iosxe_interfaces.tf +++ b/iosxe_interfaces.tf @@ -162,6 +162,9 @@ locals { md5_auth_key = try(key.md5_auth_key, local.defaults.iosxe.devices.configuration.interfaces.ethernets.ospf.message_digest_keys.md5_auth_key, null) md5_auth_type = try(key.md5_auth_type, local.defaults.iosxe.devices.configuration.interfaces.ethernets.ospf.message_digest_keys.md5_auth_type, null) }] + ospf_multi_area_ids = try(length(int.ospf.multi_area_ids) == 0, true) ? null : [for area in int.ospf.multi_area_ids : { + area_id = area + }] ospfv3 = try(int.ospfv3, null) != null ? true : false ospfv3_network_type_broadcast = try(int.ospfv3.network_type, local.defaults.iosxe.devices.configuration.interfaces.ethernets.ospfv3.network_type, null) == "broadcast" ? true : null ospfv3_network_type_non_broadcast = try(int.ospfv3.network_type, local.defaults.iosxe.devices.configuration.interfaces.ethernets.ospfv3.network_type, null) == "non-broadcast" ? true : null @@ -371,15 +374,16 @@ resource "iosxe_interface_ospf" "ethernet_ospf" { cost = each.value.ospf_cost dead_interval = each.value.ospf_dead_interval hello_interval = each.value.ospf_hello_interval + message_digest_keys = each.value.ospf_message_digest_keys mtu_ignore = each.value.ospf_mtu_ignore + multi_area_ids = each.value.ospf_multi_area_ids network_type_broadcast = each.value.ospf_network_type_broadcast network_type_non_broadcast = each.value.ospf_network_type_non_broadcast network_type_point_to_multipoint = each.value.ospf_network_type_point_to_multipoint network_type_point_to_point = each.value.ospf_network_type_point_to_point priority = each.value.ospf_priority - ttl_security_hops = each.value.ospf_ttl_security_hops process_ids = each.value.ospf_process_ids - message_digest_keys = each.value.ospf_message_digest_keys + ttl_security_hops = each.value.ospf_ttl_security_hops depends_on = [ iosxe_interface_ethernet.ethernet, diff --git a/iosxe_ospf.tf b/iosxe_ospf.tf index 6d33ce3..3cfc3f8 100644 --- a/iosxe_ospf.tf +++ b/iosxe_ospf.tf @@ -6,20 +6,34 @@ locals { device = device.name vrf = try(ospf.vrf, local.defaults.iosxe.configuration.routing.ospf_processes.vrf, null) - process_id = try(ospf.id, local.defaults.iosxe.configuration.routing.ospf_processes.id, null) - bfd_all_interfaces = try(ospf.bfd_all_interfaces, local.defaults.iosxe.configuration.routing.ospf_processes.bfd_all_interfaces, null) - default_information_originate = try(ospf.default_information_originate, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate, null) - default_information_originate_always = try(ospf.default_information_originate_always, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate_always, null) - default_metric = try(ospf.default_metric, local.defaults.iosxe.configuration.routing.ospf_processes.default_metric, null) - distance = try(ospf.distance, local.defaults.iosxe.configuration.routing.ospf_processes.distance, null) - domain_tag = try(ospf.domain_tag, local.defaults.iosxe.configuration.routing.ospf_processes.domain_tag, null) - mpls_ldp_autoconfig = try(ospf.mpls_ldp_autoconfig, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_autoconfig, null) - mpls_ldp_sync = try(ospf.mpls_ldp_sync, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_sync, null) - priority = try(ospf.priority, local.defaults.iosxe.configuration.routing.ospf_processes.priority, null) - router_id = try(ospf.router_id, local.defaults.iosxe.configuration.routing.ospf_processes.router_id, null) - shutdown = try(ospf.shutdown, local.defaults.iosxe.configuration.routing.ospf_processes.shutdown, null) - passive_interface_default = try(ospf.passive_interface_default, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interface_default, null) - auto_cost_reference_bandwidth = try(ospf.auto_cost_reference_bandwidth, local.defaults.iosxe.configuration.routing.ospf_processes.auto_cost_reference_bandwidth, null) + process_id = try(ospf.id, local.defaults.iosxe.configuration.routing.ospf_processes.id, null) + bfd_all_interfaces = try(ospf.bfd_all_interfaces, local.defaults.iosxe.configuration.routing.ospf_processes.bfd_all_interfaces, null) + default_information_originate = try(ospf.default_information_originate, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate, null) + default_information_originate_always = try(ospf.default_information_originate_always, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate_always, null) + default_metric = try(ospf.default_metric, local.defaults.iosxe.configuration.routing.ospf_processes.default_metric, null) + distance = try(ospf.distance, local.defaults.iosxe.configuration.routing.ospf_processes.distance, null) + domain_tag = try(ospf.domain_tag, local.defaults.iosxe.configuration.routing.ospf_processes.domain_tag, null) + log_adjacency_changes = try(ospf.log_adjacency_changes, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes, null) + log_adjacency_changes_detail = try(ospf.log_adjacency_changes_detail, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes_detail, null) + max_metric_router_lsa = try(ospf.max_metric_router_lsa, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa, null) + max_metric_router_lsa_external_lsa_metric = try(ospf.max_metric_router_lsa_external_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_external_lsa_metric, null) + max_metric_router_lsa_include_stub = try(ospf.max_metric_router_lsa_include_stub, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_include_stub, null) + max_metric_router_lsa_on_startup_time = try(ospf.max_metric_router_lsa_on_startup_time, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_time, null) + max_metric_router_lsa_on_startup_wait_for_bgp = try(ospf.max_metric_router_lsa_on_startup_wait_for_bgp, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_wait_for_bgp, null) + max_metric_router_lsa_summary_lsa_metric = try(ospf.max_metric_router_lsa_summary_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_summary_lsa_metric, null) + mpls_ldp_autoconfig = try(ospf.mpls_ldp_autoconfig, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_autoconfig, null) + mpls_ldp_sync = try(ospf.mpls_ldp_sync, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_sync, null) + nsf_cisco = try(ospf.nsf_cisco, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco, null) + nsf_cisco_enforce_global = try(ospf.nsf_cisco_enforce_global, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco_enforce_global, null) + nsf_ietf = try(ospf.nsf_ietf, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf, null) + nsf_ietf_restart_interval = try(ospf.nsf_ietf_restart_interval, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf_restart_interval, null) + priority = try(ospf.priority, local.defaults.iosxe.configuration.routing.ospf_processes.priority, null) + redistribute_connected_subnets = try(ospf.redistribute_connected_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_connected_subnets, null) + redistribute_static_subnets = try(ospf.redistribute_static_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_static_subnets, null) + router_id = try(ospf.router_id, local.defaults.iosxe.configuration.routing.ospf_processes.router_id, null) + shutdown = try(ospf.shutdown, local.defaults.iosxe.configuration.routing.ospf_processes.shutdown, null) + passive_interface_default = try(ospf.passive_interface_default, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interface_default, null) + auto_cost_reference_bandwidth = try(ospf.auto_cost_reference_bandwidth, local.defaults.iosxe.configuration.routing.ospf_processes.auto_cost_reference_bandwidth, null) passive_interface = try(length(ospf.passive_interfaces) == 0, true) ? null : [for pi in ospf.passive_interfaces : format("%s%s", try(pi.interface_type, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_type), try(pi.interface_id, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_id)) if try(pi.interface_type, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_type, null) != null && try(pi.interface_id, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_id, null) != null] @@ -61,20 +75,35 @@ locals { key = format("%s/%s", device.name, ospf.id) device = device.name - process_id = try(ospf.id, local.defaults.iosxe.configuration.routing.ospf_processes.id, null) - bfd_all_interfaces = try(ospf.bfd_all_interfaces, local.defaults.iosxe.configuration.routing.ospf_processes.bfd_all_interfaces, null) - default_information_originate = try(ospf.default_information_originate, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate, null) - default_information_originate_always = try(ospf.default_information_originate_always, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate_always, null) - default_metric = try(ospf.default_metric, local.defaults.iosxe.configuration.routing.ospf_processes.default_metric, null) - distance = try(ospf.distance, local.defaults.iosxe.configuration.routing.ospf_processes.distance, null) - domain_tag = try(ospf.domain_tag, local.defaults.iosxe.configuration.routing.ospf_processes.domain_tag, null) - mpls_ldp_autoconfig = try(ospf.mpls_ldp_autoconfig, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_autoconfig, null) - mpls_ldp_sync = try(ospf.mpls_ldp_sync, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_sync, null) - priority = try(ospf.priority, local.defaults.iosxe.configuration.routing.ospf_processes.priority, null) - router_id = try(ospf.router_id, local.defaults.iosxe.configuration.routing.ospf_processes.router_id, null) - shutdown = try(ospf.shutdown, local.defaults.iosxe.configuration.routing.ospf_processes.shutdown, null) - passive_interface_default = try(ospf.passive_interface_default, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interface_default, null) - auto_cost_reference_bandwidth = try(ospf.auto_cost_reference_bandwidth, local.defaults.iosxe.configuration.routing.ospf_processes.auto_cost_reference_bandwidth, null) + process_id = try(ospf.id, local.defaults.iosxe.configuration.routing.ospf_processes.id, null) + bfd_all_interfaces = try(ospf.bfd_all_interfaces, local.defaults.iosxe.configuration.routing.ospf_processes.bfd_all_interfaces, null) + default_information_originate = try(ospf.default_information_originate, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate, null) + default_information_originate_always = try(ospf.default_information_originate_always, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate_always, null) + default_metric = try(ospf.default_metric, local.defaults.iosxe.configuration.routing.ospf_processes.default_metric, null) + distance = try(ospf.distance, local.defaults.iosxe.configuration.routing.ospf_processes.distance, null) + domain_tag = try(ospf.domain_tag, local.defaults.iosxe.configuration.routing.ospf_processes.domain_tag, null) + fast_reroute_per_prefix_enable_prefix_priority = try(ospf.fast_reroute_per_prefix_enable_prefix_priority, local.defaults.iosxe.configuration.routing.ospf_processes.fast_reroute_per_prefix_enable_prefix_priority, null) + log_adjacency_changes = try(ospf.log_adjacency_changes, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes, null) + log_adjacency_changes_detail = try(ospf.log_adjacency_changes_detail, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes_detail, null) + max_metric_router_lsa = try(ospf.max_metric_router_lsa, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa, null) + max_metric_router_lsa_external_lsa_metric = try(ospf.max_metric_router_lsa_external_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_external_lsa_metric, null) + max_metric_router_lsa_include_stub = try(ospf.max_metric_router_lsa_include_stub, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_include_stub, null) + max_metric_router_lsa_on_startup_time = try(ospf.max_metric_router_lsa_on_startup_time, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_time, null) + max_metric_router_lsa_on_startup_wait_for_bgp = try(ospf.max_metric_router_lsa_on_startup_wait_for_bgp, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_wait_for_bgp, null) + max_metric_router_lsa_summary_lsa_metric = try(ospf.max_metric_router_lsa_summary_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_summary_lsa_metric, null) + mpls_ldp_autoconfig = try(ospf.mpls_ldp_autoconfig, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_autoconfig, null) + mpls_ldp_sync = try(ospf.mpls_ldp_sync, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_sync, null) + nsf_cisco = try(ospf.nsf_cisco, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco, null) + nsf_cisco_enforce_global = try(ospf.nsf_cisco_enforce_global, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco_enforce_global, null) + nsf_ietf = try(ospf.nsf_ietf, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf, null) + nsf_ietf_restart_interval = try(ospf.nsf_ietf_restart_interval, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf_restart_interval, null) + priority = try(ospf.priority, local.defaults.iosxe.configuration.routing.ospf_processes.priority, null) + redistribute_connected_subnets = try(ospf.redistribute_connected_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_connected_subnets, null) + redistribute_static_subnets = try(ospf.redistribute_static_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_static_subnets, null) + router_id = try(ospf.router_id, local.defaults.iosxe.configuration.routing.ospf_processes.router_id, null) + shutdown = try(ospf.shutdown, local.defaults.iosxe.configuration.routing.ospf_processes.shutdown, null) + passive_interface_default = try(ospf.passive_interface_default, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interface_default, null) + auto_cost_reference_bandwidth = try(ospf.auto_cost_reference_bandwidth, local.defaults.iosxe.configuration.routing.ospf_processes.auto_cost_reference_bandwidth, null) passive_interface = try(length(ospf.passive_interfaces) == 0, true) ? null : [for pi in ospf.passive_interfaces : format("%s%s", try(pi.interface_type, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_type), try(pi.interface_id, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_id)) if try(pi.interface_type, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_type, null) != null && try(pi.interface_id, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_id, null) != null] @@ -115,25 +144,40 @@ resource "iosxe_ospf" "ospf" { for_each = { for o in local.ospf_configurations_without_vrf : o.key => o } device = each.value.device - process_id = each.value.process_id - router_id = each.value.router_id - shutdown = each.value.shutdown - priority = each.value.priority - default_metric = each.value.default_metric - distance = each.value.distance - domain_tag = each.value.domain_tag - mpls_ldp_autoconfig = each.value.mpls_ldp_autoconfig - mpls_ldp_sync = each.value.mpls_ldp_sync - bfd_all_interfaces = each.value.bfd_all_interfaces - default_information_originate = each.value.default_information_originate - default_information_originate_always = each.value.default_information_originate_always - passive_interface_default = each.value.passive_interface_default - auto_cost_reference_bandwidth = each.value.auto_cost_reference_bandwidth - passive_interface = each.value.passive_interface - neighbors = each.value.neighbors - networks = each.value.networks - summary_addresses = each.value.summary_addresses - areas = each.value.areas + process_id = each.value.process_id + router_id = each.value.router_id + shutdown = each.value.shutdown + priority = each.value.priority + default_metric = each.value.default_metric + distance = each.value.distance + domain_tag = each.value.domain_tag + fast_reroute_per_prefix_enable_prefix_priority = each.value.fast_reroute_per_prefix_enable_prefix_priority + log_adjacency_changes = each.value.log_adjacency_changes + log_adjacency_changes_detail = each.value.log_adjacency_changes_detail + max_metric_router_lsa = each.value.max_metric_router_lsa + max_metric_router_lsa_external_lsa_metric = each.value.max_metric_router_lsa_external_lsa_metric + max_metric_router_lsa_include_stub = each.value.max_metric_router_lsa_include_stub + max_metric_router_lsa_on_startup_time = each.value.max_metric_router_lsa_on_startup_time + max_metric_router_lsa_on_startup_wait_for_bgp = each.value.max_metric_router_lsa_on_startup_wait_for_bgp + max_metric_router_lsa_summary_lsa_metric = each.value.max_metric_router_lsa_summary_lsa_metric + mpls_ldp_autoconfig = each.value.mpls_ldp_autoconfig + mpls_ldp_sync = each.value.mpls_ldp_sync + nsf_cisco = each.value.nsf_cisco + nsf_cisco_enforce_global = each.value.nsf_cisco_enforce_global + nsf_ietf = each.value.nsf_ietf + nsf_ietf_restart_interval = each.value.nsf_ietf_restart_interval + redistribute_connected_subnets = each.value.redistribute_connected_subnets + redistribute_static_subnets = each.value.redistribute_static_subnets + bfd_all_interfaces = each.value.bfd_all_interfaces + default_information_originate = each.value.default_information_originate + default_information_originate_always = each.value.default_information_originate_always + passive_interface_default = each.value.passive_interface_default + auto_cost_reference_bandwidth = each.value.auto_cost_reference_bandwidth + passive_interface = each.value.passive_interface + neighbors = each.value.neighbors + networks = each.value.networks + summary_addresses = each.value.summary_addresses + areas = each.value.areas depends_on = [iosxe_system.system] } @@ -142,26 +186,40 @@ resource "iosxe_ospf_vrf" "ospf_vrf" { for_each = { for o in local.ospf_configurations_with_vrf : o.key => o } device = each.value.device - vrf = each.value.vrf - process_id = each.value.process_id - router_id = each.value.router_id - shutdown = each.value.shutdown - priority = each.value.priority - default_metric = each.value.default_metric - distance = each.value.distance - domain_tag = each.value.domain_tag - mpls_ldp_autoconfig = each.value.mpls_ldp_autoconfig - mpls_ldp_sync = each.value.mpls_ldp_sync - bfd_all_interfaces = each.value.bfd_all_interfaces - default_information_originate = each.value.default_information_originate - default_information_originate_always = each.value.default_information_originate_always - passive_interface_default = each.value.passive_interface_default - auto_cost_reference_bandwidth = each.value.auto_cost_reference_bandwidth - passive_interface = each.value.passive_interface - neighbor = each.value.neighbor - network = each.value.network - summary_address = each.value.summary_address - areas = each.value.areas + vrf = each.value.vrf + process_id = each.value.process_id + router_id = each.value.router_id + shutdown = each.value.shutdown + priority = each.value.priority + default_metric = each.value.default_metric + distance = each.value.distance + domain_tag = each.value.domain_tag + log_adjacency_changes = each.value.log_adjacency_changes + log_adjacency_changes_detail = each.value.log_adjacency_changes_detail + max_metric_router_lsa = each.value.max_metric_router_lsa + max_metric_router_lsa_external_lsa_metric = each.value.max_metric_router_lsa_external_lsa_metric + max_metric_router_lsa_include_stub = each.value.max_metric_router_lsa_include_stub + max_metric_router_lsa_on_startup_time = each.value.max_metric_router_lsa_on_startup_time + max_metric_router_lsa_on_startup_wait_for_bgp = each.value.max_metric_router_lsa_on_startup_wait_for_bgp + max_metric_router_lsa_summary_lsa_metric = each.value.max_metric_router_lsa_summary_lsa_metric + mpls_ldp_autoconfig = each.value.mpls_ldp_autoconfig + mpls_ldp_sync = each.value.mpls_ldp_sync + nsf_cisco = each.value.nsf_cisco + nsf_cisco_enforce_global = each.value.nsf_cisco_enforce_global + nsf_ietf = each.value.nsf_ietf + nsf_ietf_restart_interval = each.value.nsf_ietf_restart_interval + redistribute_connected_subnets = each.value.redistribute_connected_subnets + redistribute_static_subnets = each.value.redistribute_static_subnets + bfd_all_interfaces = each.value.bfd_all_interfaces + default_information_originate = each.value.default_information_originate + default_information_originate_always = each.value.default_information_originate_always + passive_interface_default = each.value.passive_interface_default + auto_cost_reference_bandwidth = each.value.auto_cost_reference_bandwidth + passive_interface = each.value.passive_interface + neighbor = each.value.neighbor + network = each.value.network + summary_address = each.value.summary_address + areas = each.value.areas depends_on = [ iosxe_vrf.vrf, From 3ae6a3d8373224cd915a9fcbed45b03b9e4224b6 Mon Sep 17 00:00:00 2001 From: Andrea Testino Date: Sun, 16 Nov 2025 11:30:40 -0500 Subject: [PATCH 2/2] style(ospf): apply terraform fmt after upstream merge - Realign equals signs for consistency - No functional changes - Required for CI pre-commit checks --- iosxe_ospf.tf | 250 +++++++++++++++++++++++++------------------------- 1 file changed, 125 insertions(+), 125 deletions(-) diff --git a/iosxe_ospf.tf b/iosxe_ospf.tf index 3cfc3f8..f596ed9 100644 --- a/iosxe_ospf.tf +++ b/iosxe_ospf.tf @@ -6,34 +6,34 @@ locals { device = device.name vrf = try(ospf.vrf, local.defaults.iosxe.configuration.routing.ospf_processes.vrf, null) - process_id = try(ospf.id, local.defaults.iosxe.configuration.routing.ospf_processes.id, null) - bfd_all_interfaces = try(ospf.bfd_all_interfaces, local.defaults.iosxe.configuration.routing.ospf_processes.bfd_all_interfaces, null) - default_information_originate = try(ospf.default_information_originate, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate, null) - default_information_originate_always = try(ospf.default_information_originate_always, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate_always, null) - default_metric = try(ospf.default_metric, local.defaults.iosxe.configuration.routing.ospf_processes.default_metric, null) - distance = try(ospf.distance, local.defaults.iosxe.configuration.routing.ospf_processes.distance, null) - domain_tag = try(ospf.domain_tag, local.defaults.iosxe.configuration.routing.ospf_processes.domain_tag, null) - log_adjacency_changes = try(ospf.log_adjacency_changes, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes, null) - log_adjacency_changes_detail = try(ospf.log_adjacency_changes_detail, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes_detail, null) - max_metric_router_lsa = try(ospf.max_metric_router_lsa, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa, null) - max_metric_router_lsa_external_lsa_metric = try(ospf.max_metric_router_lsa_external_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_external_lsa_metric, null) - max_metric_router_lsa_include_stub = try(ospf.max_metric_router_lsa_include_stub, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_include_stub, null) - max_metric_router_lsa_on_startup_time = try(ospf.max_metric_router_lsa_on_startup_time, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_time, null) - max_metric_router_lsa_on_startup_wait_for_bgp = try(ospf.max_metric_router_lsa_on_startup_wait_for_bgp, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_wait_for_bgp, null) - max_metric_router_lsa_summary_lsa_metric = try(ospf.max_metric_router_lsa_summary_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_summary_lsa_metric, null) - mpls_ldp_autoconfig = try(ospf.mpls_ldp_autoconfig, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_autoconfig, null) - mpls_ldp_sync = try(ospf.mpls_ldp_sync, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_sync, null) - nsf_cisco = try(ospf.nsf_cisco, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco, null) - nsf_cisco_enforce_global = try(ospf.nsf_cisco_enforce_global, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco_enforce_global, null) - nsf_ietf = try(ospf.nsf_ietf, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf, null) - nsf_ietf_restart_interval = try(ospf.nsf_ietf_restart_interval, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf_restart_interval, null) - priority = try(ospf.priority, local.defaults.iosxe.configuration.routing.ospf_processes.priority, null) - redistribute_connected_subnets = try(ospf.redistribute_connected_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_connected_subnets, null) - redistribute_static_subnets = try(ospf.redistribute_static_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_static_subnets, null) - router_id = try(ospf.router_id, local.defaults.iosxe.configuration.routing.ospf_processes.router_id, null) - shutdown = try(ospf.shutdown, local.defaults.iosxe.configuration.routing.ospf_processes.shutdown, null) - passive_interface_default = try(ospf.passive_interface_default, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interface_default, null) - auto_cost_reference_bandwidth = try(ospf.auto_cost_reference_bandwidth, local.defaults.iosxe.configuration.routing.ospf_processes.auto_cost_reference_bandwidth, null) + process_id = try(ospf.id, local.defaults.iosxe.configuration.routing.ospf_processes.id, null) + bfd_all_interfaces = try(ospf.bfd_all_interfaces, local.defaults.iosxe.configuration.routing.ospf_processes.bfd_all_interfaces, null) + default_information_originate = try(ospf.default_information_originate, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate, null) + default_information_originate_always = try(ospf.default_information_originate_always, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate_always, null) + default_metric = try(ospf.default_metric, local.defaults.iosxe.configuration.routing.ospf_processes.default_metric, null) + distance = try(ospf.distance, local.defaults.iosxe.configuration.routing.ospf_processes.distance, null) + domain_tag = try(ospf.domain_tag, local.defaults.iosxe.configuration.routing.ospf_processes.domain_tag, null) + log_adjacency_changes = try(ospf.log_adjacency_changes, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes, null) + log_adjacency_changes_detail = try(ospf.log_adjacency_changes_detail, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes_detail, null) + max_metric_router_lsa = try(ospf.max_metric_router_lsa, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa, null) + max_metric_router_lsa_external_lsa_metric = try(ospf.max_metric_router_lsa_external_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_external_lsa_metric, null) + max_metric_router_lsa_include_stub = try(ospf.max_metric_router_lsa_include_stub, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_include_stub, null) + max_metric_router_lsa_on_startup_time = try(ospf.max_metric_router_lsa_on_startup_time, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_time, null) + max_metric_router_lsa_on_startup_wait_for_bgp = try(ospf.max_metric_router_lsa_on_startup_wait_for_bgp, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_wait_for_bgp, null) + max_metric_router_lsa_summary_lsa_metric = try(ospf.max_metric_router_lsa_summary_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_summary_lsa_metric, null) + mpls_ldp_autoconfig = try(ospf.mpls_ldp_autoconfig, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_autoconfig, null) + mpls_ldp_sync = try(ospf.mpls_ldp_sync, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_sync, null) + nsf_cisco = try(ospf.nsf_cisco, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco, null) + nsf_cisco_enforce_global = try(ospf.nsf_cisco_enforce_global, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco_enforce_global, null) + nsf_ietf = try(ospf.nsf_ietf, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf, null) + nsf_ietf_restart_interval = try(ospf.nsf_ietf_restart_interval, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf_restart_interval, null) + priority = try(ospf.priority, local.defaults.iosxe.configuration.routing.ospf_processes.priority, null) + redistribute_connected_subnets = try(ospf.redistribute_connected_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_connected_subnets, null) + redistribute_static_subnets = try(ospf.redistribute_static_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_static_subnets, null) + router_id = try(ospf.router_id, local.defaults.iosxe.configuration.routing.ospf_processes.router_id, null) + shutdown = try(ospf.shutdown, local.defaults.iosxe.configuration.routing.ospf_processes.shutdown, null) + passive_interface_default = try(ospf.passive_interface_default, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interface_default, null) + auto_cost_reference_bandwidth = try(ospf.auto_cost_reference_bandwidth, local.defaults.iosxe.configuration.routing.ospf_processes.auto_cost_reference_bandwidth, null) passive_interface = try(length(ospf.passive_interfaces) == 0, true) ? null : [for pi in ospf.passive_interfaces : format("%s%s", try(pi.interface_type, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_type), try(pi.interface_id, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_id)) if try(pi.interface_type, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_type, null) != null && try(pi.interface_id, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_id, null) != null] @@ -75,35 +75,35 @@ locals { key = format("%s/%s", device.name, ospf.id) device = device.name - process_id = try(ospf.id, local.defaults.iosxe.configuration.routing.ospf_processes.id, null) - bfd_all_interfaces = try(ospf.bfd_all_interfaces, local.defaults.iosxe.configuration.routing.ospf_processes.bfd_all_interfaces, null) - default_information_originate = try(ospf.default_information_originate, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate, null) - default_information_originate_always = try(ospf.default_information_originate_always, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate_always, null) - default_metric = try(ospf.default_metric, local.defaults.iosxe.configuration.routing.ospf_processes.default_metric, null) - distance = try(ospf.distance, local.defaults.iosxe.configuration.routing.ospf_processes.distance, null) - domain_tag = try(ospf.domain_tag, local.defaults.iosxe.configuration.routing.ospf_processes.domain_tag, null) - fast_reroute_per_prefix_enable_prefix_priority = try(ospf.fast_reroute_per_prefix_enable_prefix_priority, local.defaults.iosxe.configuration.routing.ospf_processes.fast_reroute_per_prefix_enable_prefix_priority, null) - log_adjacency_changes = try(ospf.log_adjacency_changes, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes, null) - log_adjacency_changes_detail = try(ospf.log_adjacency_changes_detail, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes_detail, null) - max_metric_router_lsa = try(ospf.max_metric_router_lsa, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa, null) - max_metric_router_lsa_external_lsa_metric = try(ospf.max_metric_router_lsa_external_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_external_lsa_metric, null) - max_metric_router_lsa_include_stub = try(ospf.max_metric_router_lsa_include_stub, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_include_stub, null) - max_metric_router_lsa_on_startup_time = try(ospf.max_metric_router_lsa_on_startup_time, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_time, null) - max_metric_router_lsa_on_startup_wait_for_bgp = try(ospf.max_metric_router_lsa_on_startup_wait_for_bgp, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_wait_for_bgp, null) - max_metric_router_lsa_summary_lsa_metric = try(ospf.max_metric_router_lsa_summary_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_summary_lsa_metric, null) - mpls_ldp_autoconfig = try(ospf.mpls_ldp_autoconfig, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_autoconfig, null) - mpls_ldp_sync = try(ospf.mpls_ldp_sync, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_sync, null) - nsf_cisco = try(ospf.nsf_cisco, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco, null) - nsf_cisco_enforce_global = try(ospf.nsf_cisco_enforce_global, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco_enforce_global, null) - nsf_ietf = try(ospf.nsf_ietf, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf, null) - nsf_ietf_restart_interval = try(ospf.nsf_ietf_restart_interval, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf_restart_interval, null) - priority = try(ospf.priority, local.defaults.iosxe.configuration.routing.ospf_processes.priority, null) - redistribute_connected_subnets = try(ospf.redistribute_connected_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_connected_subnets, null) - redistribute_static_subnets = try(ospf.redistribute_static_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_static_subnets, null) - router_id = try(ospf.router_id, local.defaults.iosxe.configuration.routing.ospf_processes.router_id, null) - shutdown = try(ospf.shutdown, local.defaults.iosxe.configuration.routing.ospf_processes.shutdown, null) - passive_interface_default = try(ospf.passive_interface_default, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interface_default, null) - auto_cost_reference_bandwidth = try(ospf.auto_cost_reference_bandwidth, local.defaults.iosxe.configuration.routing.ospf_processes.auto_cost_reference_bandwidth, null) + process_id = try(ospf.id, local.defaults.iosxe.configuration.routing.ospf_processes.id, null) + bfd_all_interfaces = try(ospf.bfd_all_interfaces, local.defaults.iosxe.configuration.routing.ospf_processes.bfd_all_interfaces, null) + default_information_originate = try(ospf.default_information_originate, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate, null) + default_information_originate_always = try(ospf.default_information_originate_always, local.defaults.iosxe.configuration.routing.ospf_processes.default_information_originate_always, null) + default_metric = try(ospf.default_metric, local.defaults.iosxe.configuration.routing.ospf_processes.default_metric, null) + distance = try(ospf.distance, local.defaults.iosxe.configuration.routing.ospf_processes.distance, null) + domain_tag = try(ospf.domain_tag, local.defaults.iosxe.configuration.routing.ospf_processes.domain_tag, null) + fast_reroute_per_prefix_enable_prefix_priority = try(ospf.fast_reroute_per_prefix_enable_prefix_priority, local.defaults.iosxe.configuration.routing.ospf_processes.fast_reroute_per_prefix_enable_prefix_priority, null) + log_adjacency_changes = try(ospf.log_adjacency_changes, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes, null) + log_adjacency_changes_detail = try(ospf.log_adjacency_changes_detail, local.defaults.iosxe.configuration.routing.ospf_processes.log_adjacency_changes_detail, null) + max_metric_router_lsa = try(ospf.max_metric_router_lsa, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa, null) + max_metric_router_lsa_external_lsa_metric = try(ospf.max_metric_router_lsa_external_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_external_lsa_metric, null) + max_metric_router_lsa_include_stub = try(ospf.max_metric_router_lsa_include_stub, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_include_stub, null) + max_metric_router_lsa_on_startup_time = try(ospf.max_metric_router_lsa_on_startup_time, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_time, null) + max_metric_router_lsa_on_startup_wait_for_bgp = try(ospf.max_metric_router_lsa_on_startup_wait_for_bgp, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_on_startup_wait_for_bgp, null) + max_metric_router_lsa_summary_lsa_metric = try(ospf.max_metric_router_lsa_summary_lsa_metric, local.defaults.iosxe.configuration.routing.ospf_processes.max_metric_router_lsa_summary_lsa_metric, null) + mpls_ldp_autoconfig = try(ospf.mpls_ldp_autoconfig, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_autoconfig, null) + mpls_ldp_sync = try(ospf.mpls_ldp_sync, local.defaults.iosxe.configuration.routing.ospf_processes.mpls_ldp_sync, null) + nsf_cisco = try(ospf.nsf_cisco, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco, null) + nsf_cisco_enforce_global = try(ospf.nsf_cisco_enforce_global, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_cisco_enforce_global, null) + nsf_ietf = try(ospf.nsf_ietf, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf, null) + nsf_ietf_restart_interval = try(ospf.nsf_ietf_restart_interval, local.defaults.iosxe.configuration.routing.ospf_processes.nsf_ietf_restart_interval, null) + priority = try(ospf.priority, local.defaults.iosxe.configuration.routing.ospf_processes.priority, null) + redistribute_connected_subnets = try(ospf.redistribute_connected_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_connected_subnets, null) + redistribute_static_subnets = try(ospf.redistribute_static_subnets, local.defaults.iosxe.configuration.routing.ospf_processes.redistribute_static_subnets, null) + router_id = try(ospf.router_id, local.defaults.iosxe.configuration.routing.ospf_processes.router_id, null) + shutdown = try(ospf.shutdown, local.defaults.iosxe.configuration.routing.ospf_processes.shutdown, null) + passive_interface_default = try(ospf.passive_interface_default, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interface_default, null) + auto_cost_reference_bandwidth = try(ospf.auto_cost_reference_bandwidth, local.defaults.iosxe.configuration.routing.ospf_processes.auto_cost_reference_bandwidth, null) passive_interface = try(length(ospf.passive_interfaces) == 0, true) ? null : [for pi in ospf.passive_interfaces : format("%s%s", try(pi.interface_type, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_type), try(pi.interface_id, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_id)) if try(pi.interface_type, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_type, null) != null && try(pi.interface_id, local.defaults.iosxe.configuration.routing.ospf_processes.passive_interfaces.interface_id, null) != null] @@ -144,40 +144,40 @@ resource "iosxe_ospf" "ospf" { for_each = { for o in local.ospf_configurations_without_vrf : o.key => o } device = each.value.device - process_id = each.value.process_id - router_id = each.value.router_id - shutdown = each.value.shutdown - priority = each.value.priority - default_metric = each.value.default_metric - distance = each.value.distance - domain_tag = each.value.domain_tag - fast_reroute_per_prefix_enable_prefix_priority = each.value.fast_reroute_per_prefix_enable_prefix_priority - log_adjacency_changes = each.value.log_adjacency_changes - log_adjacency_changes_detail = each.value.log_adjacency_changes_detail - max_metric_router_lsa = each.value.max_metric_router_lsa - max_metric_router_lsa_external_lsa_metric = each.value.max_metric_router_lsa_external_lsa_metric - max_metric_router_lsa_include_stub = each.value.max_metric_router_lsa_include_stub - max_metric_router_lsa_on_startup_time = each.value.max_metric_router_lsa_on_startup_time - max_metric_router_lsa_on_startup_wait_for_bgp = each.value.max_metric_router_lsa_on_startup_wait_for_bgp - max_metric_router_lsa_summary_lsa_metric = each.value.max_metric_router_lsa_summary_lsa_metric - mpls_ldp_autoconfig = each.value.mpls_ldp_autoconfig - mpls_ldp_sync = each.value.mpls_ldp_sync - nsf_cisco = each.value.nsf_cisco - nsf_cisco_enforce_global = each.value.nsf_cisco_enforce_global - nsf_ietf = each.value.nsf_ietf - nsf_ietf_restart_interval = each.value.nsf_ietf_restart_interval - redistribute_connected_subnets = each.value.redistribute_connected_subnets - redistribute_static_subnets = each.value.redistribute_static_subnets - bfd_all_interfaces = each.value.bfd_all_interfaces - default_information_originate = each.value.default_information_originate - default_information_originate_always = each.value.default_information_originate_always - passive_interface_default = each.value.passive_interface_default - auto_cost_reference_bandwidth = each.value.auto_cost_reference_bandwidth - passive_interface = each.value.passive_interface - neighbors = each.value.neighbors - networks = each.value.networks - summary_addresses = each.value.summary_addresses - areas = each.value.areas + process_id = each.value.process_id + router_id = each.value.router_id + shutdown = each.value.shutdown + priority = each.value.priority + default_metric = each.value.default_metric + distance = each.value.distance + domain_tag = each.value.domain_tag + fast_reroute_per_prefix_enable_prefix_priority = each.value.fast_reroute_per_prefix_enable_prefix_priority + log_adjacency_changes = each.value.log_adjacency_changes + log_adjacency_changes_detail = each.value.log_adjacency_changes_detail + max_metric_router_lsa = each.value.max_metric_router_lsa + max_metric_router_lsa_external_lsa_metric = each.value.max_metric_router_lsa_external_lsa_metric + max_metric_router_lsa_include_stub = each.value.max_metric_router_lsa_include_stub + max_metric_router_lsa_on_startup_time = each.value.max_metric_router_lsa_on_startup_time + max_metric_router_lsa_on_startup_wait_for_bgp = each.value.max_metric_router_lsa_on_startup_wait_for_bgp + max_metric_router_lsa_summary_lsa_metric = each.value.max_metric_router_lsa_summary_lsa_metric + mpls_ldp_autoconfig = each.value.mpls_ldp_autoconfig + mpls_ldp_sync = each.value.mpls_ldp_sync + nsf_cisco = each.value.nsf_cisco + nsf_cisco_enforce_global = each.value.nsf_cisco_enforce_global + nsf_ietf = each.value.nsf_ietf + nsf_ietf_restart_interval = each.value.nsf_ietf_restart_interval + redistribute_connected_subnets = each.value.redistribute_connected_subnets + redistribute_static_subnets = each.value.redistribute_static_subnets + bfd_all_interfaces = each.value.bfd_all_interfaces + default_information_originate = each.value.default_information_originate + default_information_originate_always = each.value.default_information_originate_always + passive_interface_default = each.value.passive_interface_default + auto_cost_reference_bandwidth = each.value.auto_cost_reference_bandwidth + passive_interface = each.value.passive_interface + neighbors = each.value.neighbors + networks = each.value.networks + summary_addresses = each.value.summary_addresses + areas = each.value.areas depends_on = [iosxe_system.system] } @@ -186,40 +186,40 @@ resource "iosxe_ospf_vrf" "ospf_vrf" { for_each = { for o in local.ospf_configurations_with_vrf : o.key => o } device = each.value.device - vrf = each.value.vrf - process_id = each.value.process_id - router_id = each.value.router_id - shutdown = each.value.shutdown - priority = each.value.priority - default_metric = each.value.default_metric - distance = each.value.distance - domain_tag = each.value.domain_tag - log_adjacency_changes = each.value.log_adjacency_changes - log_adjacency_changes_detail = each.value.log_adjacency_changes_detail - max_metric_router_lsa = each.value.max_metric_router_lsa - max_metric_router_lsa_external_lsa_metric = each.value.max_metric_router_lsa_external_lsa_metric - max_metric_router_lsa_include_stub = each.value.max_metric_router_lsa_include_stub - max_metric_router_lsa_on_startup_time = each.value.max_metric_router_lsa_on_startup_time - max_metric_router_lsa_on_startup_wait_for_bgp = each.value.max_metric_router_lsa_on_startup_wait_for_bgp - max_metric_router_lsa_summary_lsa_metric = each.value.max_metric_router_lsa_summary_lsa_metric - mpls_ldp_autoconfig = each.value.mpls_ldp_autoconfig - mpls_ldp_sync = each.value.mpls_ldp_sync - nsf_cisco = each.value.nsf_cisco - nsf_cisco_enforce_global = each.value.nsf_cisco_enforce_global - nsf_ietf = each.value.nsf_ietf - nsf_ietf_restart_interval = each.value.nsf_ietf_restart_interval - redistribute_connected_subnets = each.value.redistribute_connected_subnets - redistribute_static_subnets = each.value.redistribute_static_subnets - bfd_all_interfaces = each.value.bfd_all_interfaces - default_information_originate = each.value.default_information_originate - default_information_originate_always = each.value.default_information_originate_always - passive_interface_default = each.value.passive_interface_default - auto_cost_reference_bandwidth = each.value.auto_cost_reference_bandwidth - passive_interface = each.value.passive_interface - neighbor = each.value.neighbor - network = each.value.network - summary_address = each.value.summary_address - areas = each.value.areas + vrf = each.value.vrf + process_id = each.value.process_id + router_id = each.value.router_id + shutdown = each.value.shutdown + priority = each.value.priority + default_metric = each.value.default_metric + distance = each.value.distance + domain_tag = each.value.domain_tag + log_adjacency_changes = each.value.log_adjacency_changes + log_adjacency_changes_detail = each.value.log_adjacency_changes_detail + max_metric_router_lsa = each.value.max_metric_router_lsa + max_metric_router_lsa_external_lsa_metric = each.value.max_metric_router_lsa_external_lsa_metric + max_metric_router_lsa_include_stub = each.value.max_metric_router_lsa_include_stub + max_metric_router_lsa_on_startup_time = each.value.max_metric_router_lsa_on_startup_time + max_metric_router_lsa_on_startup_wait_for_bgp = each.value.max_metric_router_lsa_on_startup_wait_for_bgp + max_metric_router_lsa_summary_lsa_metric = each.value.max_metric_router_lsa_summary_lsa_metric + mpls_ldp_autoconfig = each.value.mpls_ldp_autoconfig + mpls_ldp_sync = each.value.mpls_ldp_sync + nsf_cisco = each.value.nsf_cisco + nsf_cisco_enforce_global = each.value.nsf_cisco_enforce_global + nsf_ietf = each.value.nsf_ietf + nsf_ietf_restart_interval = each.value.nsf_ietf_restart_interval + redistribute_connected_subnets = each.value.redistribute_connected_subnets + redistribute_static_subnets = each.value.redistribute_static_subnets + bfd_all_interfaces = each.value.bfd_all_interfaces + default_information_originate = each.value.default_information_originate + default_information_originate_always = each.value.default_information_originate_always + passive_interface_default = each.value.passive_interface_default + auto_cost_reference_bandwidth = each.value.auto_cost_reference_bandwidth + passive_interface = each.value.passive_interface + neighbor = each.value.neighbor + network = each.value.network + summary_address = each.value.summary_address + areas = each.value.areas depends_on = [ iosxe_vrf.vrf,