A Terraform module to configure Cisco IOS-XE devices.
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.
Configuring an IOS-XE system configuration using YAML:
iosxe:
devices:
- name: Switch1
url: https://1.2.3.4
configuration:
system:
hostname: Switch1
mtu: 9198
module "iosxe" {
source = "netascode/nac-iosxe/iosxe"
version = ">= 0.1.0"
yaml_files = ["system.nac.yaml"]
}
Name | Version |
---|---|
terraform | >= 1.8.0 |
iosxe | >= 0.5.10 |
local | >= 2.3.0 |
utils | >= 1.0.1 |
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 |
Name | Description |
---|---|
default_values | All default values. |
model | Full model. |
Name | Source | Version |
---|---|---|
model | ./modules/model | n/a |