Skip to content

netascode/terraform-iosxe-nac-iosxe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Terraform Network-as-Code Cisco IOS-XE Module

A Terraform module to configure Cisco IOS-XE devices.

Usage

This module supports an inventory driven approach, where a complete IOS-XE configuration or parts of it are either modeled in one or more YAML files or natively using Terraform variables.

Examples

Configuring an IOS-XE system configuration using YAML:

system.nac.yaml

iosxe:
  devices:
    - name: Switch1
      url: https://1.2.3.4
      configuration:
        system:
          hostname: Switch1
          mtu: 9198

main.tf

module "iosxe" {
  source  = "netascode/nac-iosxe/iosxe"
  version = ">= 0.1.0"

  yaml_files = ["system.nac.yaml"]
}

Requirements

Name Version
terraform >= 1.8.0
iosxe >= 0.5.10
local >= 2.3.0
utils >= 1.0.1

Inputs

Name Description Type Default Required
model As an alternative to YAML files, a native Terraform data structure can be provided as well. map(any) {} no
save_config Write changes to startup-config on all devices. bool false no
write_default_values_file Write all default values to a YAML file. Value is a path pointing to the file to be created. string "" no
write_model_file Write the full model including all resolved templates to a single YAML file. Value is a path pointing to the file to be created. string "" no
yaml_directories List of paths to YAML directories. list(string) [] no
yaml_files List of paths to YAML files. list(string) [] no

Outputs

Name Description
default_values All default values.
model Full model.

Resources

Name Type
iosxe_aaa.aaa resource
iosxe_aaa_accounting.aaa_accounting resource
iosxe_aaa_authentication.aaa_authentication resource
iosxe_aaa_authorization.aaa_authorization resource
iosxe_access_list_extended.access_list_extended resource
iosxe_access_list_standard.access_list_standard resource
iosxe_arp.arp resource
iosxe_as_path_access_list.as_path_access_list resource
iosxe_banner.banner resource
iosxe_bfd.bfd resource
iosxe_bfd_template_multi_hop.bfd_template_multi_hop resource
iosxe_bfd_template_single_hop.bfd_template_single_hop resource
iosxe_bgp.bgp resource
iosxe_bgp_address_family_ipv4.bgp_address_family_ipv4 resource
iosxe_bgp_address_family_ipv4_vrf.bgp_address_family_ipv4_vrf resource
iosxe_bgp_address_family_ipv6.bgp_address_family_ipv6 resource
iosxe_bgp_address_family_ipv6_vrf.bgp_address_family_ipv6_vrf resource
iosxe_bgp_address_family_l2vpn.bgp_address_family_l2vpn resource
iosxe_bgp_ipv4_unicast_neighbor.bgp_ipv4_unicast_neighbor resource
iosxe_bgp_ipv4_unicast_vrf_neighbor.bgp_ipv4_unicast_vrf_neighbor resource
iosxe_bgp_ipv6_unicast_neighbor.bgp_ipv6_unicast_neighbor resource
iosxe_bgp_l2vpn_evpn_neighbor.bgp_l2vpn_evpn_neighbor resource
iosxe_bgp_neighbor.bgp_neighbor resource
iosxe_cdp.cdp resource
iosxe_class_map.class_map resource
iosxe_clock.clock resource
iosxe_community_list_expanded.community_list_expanded resource
iosxe_community_list_standard.community_list_standard resource
iosxe_dhcp.dhcp resource
iosxe_dot1x.dot1x resource
iosxe_errdisable.errdisable resource
iosxe_flow_exporter.flow_exporter resource
iosxe_flow_monitor.flow_monitors resource
iosxe_flow_record.flow_records resource
iosxe_interface_ethernet.ethernet resource
iosxe_interface_loopback.loopback resource
iosxe_interface_mpls.ethernet_mpls resource
iosxe_interface_mpls.loopback_mpls resource
iosxe_interface_mpls.vlan_mpls resource
iosxe_interface_ospf.ethernet_ospf resource
iosxe_interface_ospf.loopback_ospf resource
iosxe_interface_ospf.vlan_ospf resource
iosxe_interface_ospfv3.ethernet_ospfv3 resource
iosxe_interface_ospfv3.loopback_ospfv3 resource
iosxe_interface_ospfv3.vlan_ospfv3 resource
iosxe_interface_pim.ethernet_pim resource
iosxe_interface_pim.loopback_pim resource
iosxe_interface_pim.vlan_pim resource
iosxe_interface_switchport.ethernet_switchport resource
iosxe_interface_vlan.interface_vlan resource
iosxe_line.line resource
iosxe_prefix_list.prefix_list resource
iosxe_route_map.route_map resource
iosxe_save_config.save_config resource
iosxe_service.service resource
iosxe_service_template.service_templates resource
iosxe_snmp_server.snmp_server resource
iosxe_snmp_server_group.snmp_server_group resource
iosxe_snmp_server_user.snmp_server_user resource
iosxe_static_route.static_routes resource
iosxe_system.system resource
iosxe_template.template resource
iosxe_udld.udld resource
iosxe_vtp.vtp resource

Modules

Name Source Version
model ./modules/model n/a