A Terraform module to configure Cisco NX-OS devices.
This module supports an inventory driven approach, where a complete NX-OS configuration or parts of it are either modeled in one or more YAML files or natively using Terraform variables.
Configuring an NX-OS system configuration using YAML:
nxos:
devices:
- name: Switch1
url: https://1.2.3.4
configuration:
system:
hostname: Switch1
mtu: 9216module "nxos" {
source = "netascode/nac-nxos/nxos"
version = ">= 0.1.0"
yaml_files = ["system.nac.yaml"]
}| Name | Version |
|---|---|
| terraform | >= 1.9.0 |
| local | >= 2.7.0 |
| nxos | = 0.10.1 |
| utils | = 2.0.0-beta2 |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| managed_device_groups | List of device group names to be managed. By default all device groups will be managed. | list(string) |
[] |
no |
| managed_devices | List of device names to be managed. By default all devices will be managed. | list(string) |
[] |
no |
| 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 |
| template_directories | List of paths to directories containing template files. | list(string) |
[] |
no |
| template_files | List of paths to template files. | list(string) |
[] |
no |
| write_model_file | Write the rendered device model 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 |
No outputs.
No modules.