Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/netascode/terraform-aci-nac-aci

Terraform Cisco ACI Nexus-as-Code Module
https://github.com/netascode/terraform-aci-nac-aci

aci cisco iac nac network-as-code nexus-as-code terraform terraform-module

Last synced: 5 days ago
JSON representation

Terraform Cisco ACI Nexus-as-Code Module

Awesome Lists containing this project

README

        

[![Tests](https://github.com/netascode/terraform-aci-nac-aci/actions/workflows/test.yml/badge.svg)](https://github.com/netascode/terraform-aci-nac-aci/actions/workflows/test.yml)

# Terraform ACI Nexus-as-Code Module

A Terraform module to configure ACI.

This module is part of the Cisco [*Nexus-as-Code*](https://cisco.com/go/nexusascode) project. Its goal is to allow users to instantiate network fabrics in minutes using an easy to use, opinionated data model. It takes away the complexity of having to deal with references, dependencies or loops. By completely separating data (defining variables) from logic (infrastructure declaration), it allows the user to focus on describing the intended configuration while using a set of maintained and tested Terraform Modules without the need to understand the low-level ACI object model. More information can be found here: https://cisco.com/go/nexusascode.

A comprehensive example using this module is available here: https://github.com/netascode/nac-aci-comprehensive-example

## Usage

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

There are six configuration sections which can be selectively enabled or disabled using module flags:

- `fabric_policies`: Configurations applied at the fabric level (e.g., fabric BGP route reflectors)
- `access_policies`: Configurations applied to external facing (downlink) interfaces (e.g., VLAN pools)
- `pod_policies`: Configurations applied at the pod level (e.g., TEP pool addresses)
- `node_policies`: Configurations applied at the node level (e.g., OOB node management address)
- `interface_policies`: Configurations applied at the interface level (e.g., assigning interface policy groups to physical ports)
- `tenants`: Configurations applied at the tenant level (e.g., VRFs and Bridge Domains)

The full data model documentation is available here: https://developer.cisco.com/docs/nexus-as-code/#!data-model

## Examples

Configuring a VLAN Pool using YAML:

#### `vlan_pool.yaml`

```hcl
apic:
access_policies:
vlan_pools:
- name: VLAN_POOL_1
ranges:
- from: 1000
to: 1099
```

#### `main.tf`

```hcl
module "vlan_pool" {
source = "netascode/nac-aci/aci"
version = ">= 0.7.0"

yaml_files = ["vlan_pool.yaml"]

manage_access_policies = true
}
````

Configuring a Banner using native HCL:

#### `main.tf`

```hcl
module "banner" {
source = "netascode/nac-aci/aci"
version = ">= 0.7.0"

model = {
apic = {
fabric_policies = {
banners = {
apic_cli_banner = "My APIC Banner"
}
}
}
}

manage_fabric_policies = true
}
````

Additional example repositories:

- https://github.com/netascode/nac-aci-simple-example
- https://github.com/netascode/nac-aci-comprehensive-example

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.0 |
| [aci](#requirement\_aci) | >= 2.15.0 |
| [local](#requirement\_local) | >= 2.3.0 |
| [utils](#requirement\_utils) | >= 0.2.5 |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [manage\_access\_policies](#input\_manage\_access\_policies) | Flag to indicate if access policies should be managed. | `bool` | `false` | no |
| [manage\_fabric\_policies](#input\_manage\_fabric\_policies) | Flag to indicate if fabric policies should be managed. | `bool` | `false` | no |
| [manage\_interface\_policies](#input\_manage\_interface\_policies) | Flag to indicate if interface policies should be managed. | `bool` | `false` | no |
| [manage\_node\_policies](#input\_manage\_node\_policies) | Flag to indicate if node policies should be managed. | `bool` | `false` | no |
| [manage\_pod\_policies](#input\_manage\_pod\_policies) | Flag to indicate if pod policies should be managed. | `bool` | `false` | no |
| [manage\_tenants](#input\_manage\_tenants) | Flag to indicate if tenants should be managed. | `bool` | `false` | no |
| [managed\_interface\_policies\_nodes](#input\_managed\_interface\_policies\_nodes) | List of node IDs for which interface policies should be managed. By default interface policies for all nodes will be managed. | `list(number)` | `[]` | no |
| [managed\_tenants](#input\_managed\_tenants) | List of tenant names to be managed. By default all tenants will be managed. | `list(string)` | `[]` | no |
| [model](#input\_model) | As an alternative to YAML files, a native Terraform data structure can be provided as well. | `map(any)` | `{}` | no |
| [write\_default\_values\_file](#input\_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 |
| [yaml\_directories](#input\_yaml\_directories) | List of paths to YAML directories. | `list(string)` | `[]` | no |
| [yaml\_files](#input\_yaml\_files) | List of paths to YAML files. | `list(string)` | `[]` | no |

## Outputs

| Name | Description |
|------|-------------|
| [default\_values](#output\_default\_values) | All default values. |
| [model](#output\_model) | Full model. |

## Providers

| Name | Version |
|------|---------|
| [local](#provider\_local) | >= 2.3.0 |
| [utils](#provider\_utils) | >= 0.2.5 |

## Resources

| Name | Type |
|------|------|
| [local_sensitive_file.defaults](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/sensitive_file) | resource |
| [utils_yaml_merge.defaults](https://registry.terraform.io/providers/netascode/utils/latest/docs/data-sources/yaml_merge) | data source |
| [utils_yaml_merge.model](https://registry.terraform.io/providers/netascode/utils/latest/docs/data-sources/yaml_merge) | data source |
| [utils_yaml_merge.modules](https://registry.terraform.io/providers/netascode/utils/latest/docs/data-sources/yaml_merge) | data source |

## Modules

| Name | Source | Version |
|------|--------|---------|
| [aci\_aaa](#module\_aci\_aaa) | ./modules/terraform-aci-aaa | n/a |
| [aci\_aaep](#module\_aci\_aaep) | ./modules/terraform-aci-aaep | n/a |
| [aci\_access\_fex\_interface\_profile\_auto](#module\_aci\_access\_fex\_interface\_profile\_auto) | ./modules/terraform-aci-access-fex-interface-profile | n/a |
| [aci\_access\_fex\_interface\_profile\_manual](#module\_aci\_access\_fex\_interface\_profile\_manual) | ./modules/terraform-aci-access-fex-interface-profile | n/a |
| [aci\_access\_fex\_interface\_selector\_auto](#module\_aci\_access\_fex\_interface\_selector\_auto) | ./modules/terraform-aci-access-fex-interface-selector | n/a |
| [aci\_access\_fex\_interface\_selector\_manual](#module\_aci\_access\_fex\_interface\_selector\_manual) | ./modules/terraform-aci-access-fex-interface-selector | n/a |
| [aci\_access\_leaf\_interface\_policy\_group](#module\_aci\_access\_leaf\_interface\_policy\_group) | ./modules/terraform-aci-access-leaf-interface-policy-group | n/a |
| [aci\_access\_leaf\_interface\_profile\_auto](#module\_aci\_access\_leaf\_interface\_profile\_auto) | ./modules/terraform-aci-access-leaf-interface-profile | n/a |
| [aci\_access\_leaf\_interface\_profile\_manual](#module\_aci\_access\_leaf\_interface\_profile\_manual) | ./modules/terraform-aci-access-leaf-interface-profile | n/a |
| [aci\_access\_leaf\_interface\_selector\_auto](#module\_aci\_access\_leaf\_interface\_selector\_auto) | ./modules/terraform-aci-access-leaf-interface-selector | n/a |
| [aci\_access\_leaf\_interface\_selector\_manual](#module\_aci\_access\_leaf\_interface\_selector\_manual) | ./modules/terraform-aci-access-leaf-interface-selector | n/a |
| [aci\_access\_leaf\_interface\_selector\_sub\_auto](#module\_aci\_access\_leaf\_interface\_selector\_sub\_auto) | ./modules/terraform-aci-access-leaf-interface-selector | n/a |
| [aci\_access\_leaf\_switch\_configuration](#module\_aci\_access\_leaf\_switch\_configuration) | ./modules/terraform-aci-switch-configuration | n/a |
| [aci\_access\_leaf\_switch\_policy\_group](#module\_aci\_access\_leaf\_switch\_policy\_group) | ./modules/terraform-aci-access-leaf-switch-policy-group | n/a |
| [aci\_access\_leaf\_switch\_profile\_auto](#module\_aci\_access\_leaf\_switch\_profile\_auto) | ./modules/terraform-aci-access-leaf-switch-profile | n/a |
| [aci\_access\_leaf\_switch\_profile\_manual](#module\_aci\_access\_leaf\_switch\_profile\_manual) | ./modules/terraform-aci-access-leaf-switch-profile | n/a |
| [aci\_access\_span\_destination\_group](#module\_aci\_access\_span\_destination\_group) | ./modules/terraform-aci-access-span-destination-group | n/a |
| [aci\_access\_span\_filter\_group](#module\_aci\_access\_span\_filter\_group) | ./modules/terraform-aci-access-span-filter-group | n/a |
| [aci\_access\_span\_source\_group](#module\_aci\_access\_span\_source\_group) | ./modules/terraform-aci-access-span-source-group | n/a |
| [aci\_access\_spine\_interface\_policy\_group](#module\_aci\_access\_spine\_interface\_policy\_group) | ./modules/terraform-aci-access-spine-interface-policy-group | n/a |
| [aci\_access\_spine\_interface\_profile\_auto](#module\_aci\_access\_spine\_interface\_profile\_auto) | ./modules/terraform-aci-access-spine-interface-profile | n/a |
| [aci\_access\_spine\_interface\_profile\_manual](#module\_aci\_access\_spine\_interface\_profile\_manual) | ./modules/terraform-aci-access-spine-interface-profile | n/a |
| [aci\_access\_spine\_interface\_selector\_auto](#module\_aci\_access\_spine\_interface\_selector\_auto) | ./modules/terraform-aci-access-spine-interface-selector | n/a |
| [aci\_access\_spine\_interface\_selector\_manual](#module\_aci\_access\_spine\_interface\_selector\_manual) | ./modules/terraform-aci-access-spine-interface-selector | n/a |
| [aci\_access\_spine\_switch\_configuration](#module\_aci\_access\_spine\_switch\_configuration) | ./modules/terraform-aci-switch-configuration | n/a |
| [aci\_access\_spine\_switch\_policy\_group](#module\_aci\_access\_spine\_switch\_policy\_group) | ./modules/terraform-aci-access-spine-switch-policy-group | n/a |
| [aci\_access\_spine\_switch\_profile\_auto](#module\_aci\_access\_spine\_switch\_profile\_auto) | ./modules/terraform-aci-access-spine-switch-profile | n/a |
| [aci\_access\_spine\_switch\_profile\_manual](#module\_aci\_access\_spine\_switch\_profile\_manual) | ./modules/terraform-aci-access-spine-switch-profile | n/a |
| [aci\_apic\_connectivity\_preference](#module\_aci\_apic\_connectivity\_preference) | ./modules/terraform-aci-apic-connectivity-preference | n/a |
| [aci\_application\_profile](#module\_aci\_application\_profile) | ./modules/terraform-aci-application-profile | n/a |
| [aci\_banner](#module\_aci\_banner) | ./modules/terraform-aci-banner | n/a |
| [aci\_bfd\_interface\_policy](#module\_aci\_bfd\_interface\_policy) | ./modules/terraform-aci-bfd-interface-policy | n/a |
| [aci\_bfd\_ipv4\_policy](#module\_aci\_bfd\_ipv4\_policy) | ./modules/terraform-aci-bfd-policy | n/a |
| [aci\_bfd\_ipv6\_policy](#module\_aci\_bfd\_ipv6\_policy) | ./modules/terraform-aci-bfd-policy | n/a |
| [aci\_bfd\_multihop\_node\_policy](#module\_aci\_bfd\_multihop\_node\_policy) | ./modules/terraform-aci-bfd-multihop-node-policy | n/a |
| [aci\_bgp\_address\_family\_context\_policy](#module\_aci\_bgp\_address\_family\_context\_policy) | ./modules/terraform-aci-bgp-address-family-context-policy | n/a |
| [aci\_bgp\_best\_path\_policy](#module\_aci\_bgp\_best\_path\_policy) | ./modules/terraform-aci-bgp-best-path-policy | n/a |
| [aci\_bgp\_peer\_prefix\_policy](#module\_aci\_bgp\_peer\_prefix\_policy) | ./modules/terraform-aci-bgp-peer-prefix-policy | n/a |
| [aci\_bgp\_policy](#module\_aci\_bgp\_policy) | ./modules/terraform-aci-bgp-policy | n/a |
| [aci\_bgp\_route\_summarization\_policy](#module\_aci\_bgp\_route\_summarization\_policy) | ./modules/terraform-aci-bgp-route-summarization-policy | n/a |
| [aci\_bgp\_timer\_policy](#module\_aci\_bgp\_timer\_policy) | ./modules/terraform-aci-bgp-timer-policy | n/a |
| [aci\_bridge\_domain](#module\_aci\_bridge\_domain) | ./modules/terraform-aci-bridge-domain | n/a |
| [aci\_ca\_certificate](#module\_aci\_ca\_certificate) | ./modules/terraform-aci-ca-certificate | n/a |
| [aci\_cdp\_policy](#module\_aci\_cdp\_policy) | ./modules/terraform-aci-cdp-policy | n/a |
| [aci\_config\_export](#module\_aci\_config\_export) | ./modules/terraform-aci-config-export | n/a |
| [aci\_config\_passphrase](#module\_aci\_config\_passphrase) | ./modules/terraform-aci-config-passphrase | n/a |
| [aci\_contract](#module\_aci\_contract) | ./modules/terraform-aci-contract | n/a |
| [aci\_coop\_policy](#module\_aci\_coop\_policy) | ./modules/terraform-aci-coop-policy | n/a |
| [aci\_date\_time\_format](#module\_aci\_date\_time\_format) | ./modules/terraform-aci-date-time-format | n/a |
| [aci\_date\_time\_policy](#module\_aci\_date\_time\_policy) | ./modules/terraform-aci-date-time-policy | n/a |
| [aci\_device\_selection\_policy](#module\_aci\_device\_selection\_policy) | ./modules/terraform-aci-device-selection-policy | n/a |
| [aci\_dhcp\_option\_policy](#module\_aci\_dhcp\_option\_policy) | ./modules/terraform-aci-dhcp-option-policy | n/a |
| [aci\_dhcp\_relay\_policy](#module\_aci\_dhcp\_relay\_policy) | ./modules/terraform-aci-dhcp-relay-policy | n/a |
| [aci\_dns\_policy](#module\_aci\_dns\_policy) | ./modules/terraform-aci-dns-policy | n/a |
| [aci\_eigrp\_interface\_policy](#module\_aci\_eigrp\_interface\_policy) | ./modules/terraform-aci-eigrp-interface-policy | n/a |
| [aci\_endpoint\_group](#module\_aci\_endpoint\_group) | ./modules/terraform-aci-endpoint-group | n/a |
| [aci\_endpoint\_loop\_protection](#module\_aci\_endpoint\_loop\_protection) | ./modules/terraform-aci-endpoint-loop-protection | n/a |
| [aci\_endpoint\_security\_group](#module\_aci\_endpoint\_security\_group) | ./modules/terraform-aci-endpoint-security-group | n/a |
| [aci\_error\_disabled\_recovery](#module\_aci\_error\_disabled\_recovery) | ./modules/terraform-aci-error-disabled-recovery | n/a |
| [aci\_external\_connectivity\_policy](#module\_aci\_external\_connectivity\_policy) | ./modules/terraform-aci-external-connectivity-policy | n/a |
| [aci\_external\_endpoint\_group](#module\_aci\_external\_endpoint\_group) | ./modules/terraform-aci-external-endpoint-group | n/a |
| [aci\_fabric\_isis\_bfd](#module\_aci\_fabric\_isis\_bfd) | ./modules/terraform-aci-fabric-isis-bfd | n/a |
| [aci\_fabric\_isis\_policy](#module\_aci\_fabric\_isis\_policy) | ./modules/terraform-aci-fabric-isis-policy | n/a |
| [aci\_fabric\_l2\_mtu](#module\_aci\_fabric\_l2\_mtu) | ./modules/terraform-aci-fabric-l2-mtu | n/a |
| [aci\_fabric\_leaf\_interface\_profile\_auto](#module\_aci\_fabric\_leaf\_interface\_profile\_auto) | ./modules/terraform-aci-fabric-leaf-interface-profile | n/a |
| [aci\_fabric\_leaf\_interface\_profile\_manual](#module\_aci\_fabric\_leaf\_interface\_profile\_manual) | ./modules/terraform-aci-fabric-leaf-interface-profile | n/a |
| [aci\_fabric\_leaf\_switch\_configuration](#module\_aci\_fabric\_leaf\_switch\_configuration) | ./modules/terraform-aci-switch-configuration | n/a |
| [aci\_fabric\_leaf\_switch\_policy\_group](#module\_aci\_fabric\_leaf\_switch\_policy\_group) | ./modules/terraform-aci-fabric-leaf-switch-policy-group | n/a |
| [aci\_fabric\_leaf\_switch\_profile\_auto](#module\_aci\_fabric\_leaf\_switch\_profile\_auto) | ./modules/terraform-aci-fabric-leaf-switch-profile | n/a |
| [aci\_fabric\_leaf\_switch\_profile\_manual](#module\_aci\_fabric\_leaf\_switch\_profile\_manual) | ./modules/terraform-aci-fabric-leaf-switch-profile | n/a |
| [aci\_fabric\_link\_level\_policy](#module\_aci\_fabric\_link\_level\_policy) | ./modules/terraform-aci-fabric-link-level-policy | n/a |
| [aci\_fabric\_pod\_policy\_group](#module\_aci\_fabric\_pod\_policy\_group) | ./modules/terraform-aci-fabric-pod-policy-group | n/a |
| [aci\_fabric\_pod\_profile\_auto](#module\_aci\_fabric\_pod\_profile\_auto) | ./modules/terraform-aci-fabric-pod-profile | n/a |
| [aci\_fabric\_pod\_profile\_manual](#module\_aci\_fabric\_pod\_profile\_manual) | ./modules/terraform-aci-fabric-pod-profile | n/a |
| [aci\_fabric\_scheduler](#module\_aci\_fabric\_scheduler) | ./modules/terraform-aci-fabric-scheduler | n/a |
| [aci\_fabric\_span\_destination\_group](#module\_aci\_fabric\_span\_destination\_group) | ./modules/terraform-aci-fabric-span-destination-group | n/a |
| [aci\_fabric\_span\_source\_group](#module\_aci\_fabric\_span\_source\_group) | ./modules/terraform-aci-fabric-span-source-group | n/a |
| [aci\_fabric\_spine\_interface\_profile\_auto](#module\_aci\_fabric\_spine\_interface\_profile\_auto) | ./modules/terraform-aci-fabric-spine-interface-profile | n/a |
| [aci\_fabric\_spine\_interface\_profile\_manual](#module\_aci\_fabric\_spine\_interface\_profile\_manual) | ./modules/terraform-aci-fabric-spine-interface-profile | n/a |
| [aci\_fabric\_spine\_switch\_configuration](#module\_aci\_fabric\_spine\_switch\_configuration) | ./modules/terraform-aci-switch-configuration | n/a |
| [aci\_fabric\_spine\_switch\_policy\_group](#module\_aci\_fabric\_spine\_switch\_policy\_group) | ./modules/terraform-aci-fabric-spine-switch-policy-group | n/a |
| [aci\_fabric\_spine\_switch\_profile\_auto](#module\_aci\_fabric\_spine\_switch\_profile\_auto) | ./modules/terraform-aci-fabric-spine-switch-profile | n/a |
| [aci\_fabric\_spine\_switch\_profile\_manual](#module\_aci\_fabric\_spine\_switch\_profile\_manual) | ./modules/terraform-aci-fabric-spine-switch-profile | n/a |
| [aci\_fabric\_wide\_settings](#module\_aci\_fabric\_wide\_settings) | ./modules/terraform-aci-fabric-wide-settings | n/a |
| [aci\_filter](#module\_aci\_filter) | ./modules/terraform-aci-filter | n/a |
| [aci\_firmware\_group](#module\_aci\_firmware\_group) | ./modules/terraform-aci-firmware-group | n/a |
| [aci\_forwarding\_scale\_policy](#module\_aci\_forwarding\_scale\_policy) | ./modules/terraform-aci-forwarding-scale-policy | n/a |
| [aci\_geolocation](#module\_aci\_geolocation) | ./modules/terraform-aci-geolocation | n/a |
| [aci\_health\_score\_evaluation\_policy](#module\_aci\_health\_score\_evaluation\_policy) | ./modules/terraform-aci-health-score-evaluation-policy | n/a |
| [aci\_igmp\_interface\_policy](#module\_aci\_igmp\_interface\_policy) | ./modules/terraform-aci-igmp-interface-policy | n/a |
| [aci\_igmp\_snooping\_policy](#module\_aci\_igmp\_snooping\_policy) | ./modules/terraform-aci-igmp-snooping-policy | n/a |
| [aci\_imported\_contract](#module\_aci\_imported\_contract) | ./modules/terraform-aci-imported-contract | n/a |
| [aci\_imported\_l4l7\_device](#module\_aci\_imported\_l4l7\_device) | ./modules/terraform-aci-imported-l4l7-device | n/a |
| [aci\_inband\_endpoint\_group](#module\_aci\_inband\_endpoint\_group) | ./modules/terraform-aci-inband-endpoint-group | n/a |
| [aci\_inband\_node\_address](#module\_aci\_inband\_node\_address) | ./modules/terraform-aci-inband-node-address | n/a |
| [aci\_infra\_dhcp\_relay\_policy](#module\_aci\_infra\_dhcp\_relay\_policy) | ./modules/terraform-aci-infra-dhcp-relay-policy | n/a |
| [aci\_infra\_dscp\_translation\_policy](#module\_aci\_infra\_dscp\_translation\_policy) | ./modules/terraform-aci-infra-dscp-translation-policy | n/a |
| [aci\_interface\_configuration\_fex](#module\_aci\_interface\_configuration\_fex) | ./modules/terraform-aci-interface-configuration | n/a |
| [aci\_interface\_type](#module\_aci\_interface\_type) | ./modules/terraform-aci-interface-type | n/a |
| [aci\_ip\_aging](#module\_aci\_ip\_aging) | ./modules/terraform-aci-ip-aging | n/a |
| [aci\_ip\_sla\_policy](#module\_aci\_ip\_sla\_policy) | ./modules/terraform-aci-ip-sla-policy | n/a |
| [aci\_keyring](#module\_aci\_keyring) | ./modules/terraform-aci-keyring | n/a |
| [aci\_l2\_mtu\_policy](#module\_aci\_l2\_mtu\_policy) | ./modules/terraform-aci-l2-mtu-policy | n/a |
| [aci\_l2\_policy](#module\_aci\_l2\_policy) | ./modules/terraform-aci-l2-policy | n/a |
| [aci\_l3out](#module\_aci\_l3out) | ./modules/terraform-aci-l3out | n/a |
| [aci\_l3out\_interface\_profile\_auto](#module\_aci\_l3out\_interface\_profile\_auto) | ./modules/terraform-aci-l3out-interface-profile | n/a |
| [aci\_l3out\_interface\_profile\_manual](#module\_aci\_l3out\_interface\_profile\_manual) | ./modules/terraform-aci-l3out-interface-profile | n/a |
| [aci\_l3out\_node\_profile\_auto](#module\_aci\_l3out\_node\_profile\_auto) | ./modules/terraform-aci-l3out-node-profile | n/a |
| [aci\_l3out\_node\_profile\_manual](#module\_aci\_l3out\_node\_profile\_manual) | ./modules/terraform-aci-l3out-node-profile | n/a |
| [aci\_l4l7\_device](#module\_aci\_l4l7\_device) | ./modules/terraform-aci-l4l7-device | n/a |
| [aci\_ldap](#module\_aci\_ldap) | ./modules/terraform-aci-ldap | n/a |
| [aci\_leaf\_fabric\_interface\_configuration](#module\_aci\_leaf\_fabric\_interface\_configuration) | ./modules/terraform-aci-fabric-interface-configuration | n/a |
| [aci\_leaf\_fabric\_interface\_configuration\_sub](#module\_aci\_leaf\_fabric\_interface\_configuration\_sub) | ./modules/terraform-aci-fabric-interface-configuration | n/a |
| [aci\_leaf\_interface\_configuration](#module\_aci\_leaf\_interface\_configuration) | ./modules/terraform-aci-interface-configuration | n/a |
| [aci\_leaf\_interface\_configuration\_sub](#module\_aci\_leaf\_interface\_configuration\_sub) | ./modules/terraform-aci-interface-configuration | n/a |
| [aci\_link\_level\_policy](#module\_aci\_link\_level\_policy) | ./modules/terraform-aci-link-level-policy | n/a |
| [aci\_lldp\_policy](#module\_aci\_lldp\_policy) | ./modules/terraform-aci-lldp-policy | n/a |
| [aci\_login\_domain](#module\_aci\_login\_domain) | ./modules/terraform-aci-login-domain | n/a |
| [aci\_maintenance\_group](#module\_aci\_maintenance\_group) | ./modules/terraform-aci-maintenance-group | n/a |
| [aci\_management\_access\_policy](#module\_aci\_management\_access\_policy) | ./modules/terraform-aci-management-access-policy | n/a |
| [aci\_match\_rule](#module\_aci\_match\_rule) | ./modules/terraform-aci-match-rule | n/a |
| [aci\_mcp](#module\_aci\_mcp) | ./modules/terraform-aci-mcp | n/a |
| [aci\_mcp\_policy](#module\_aci\_mcp\_policy) | ./modules/terraform-aci-mcp-policy | n/a |
| [aci\_monitoring\_policy](#module\_aci\_monitoring\_policy) | ./modules/terraform-aci-monitoring-policy | n/a |
| [aci\_mpls\_custom\_qos\_policy](#module\_aci\_mpls\_custom\_qos\_policy) | ./modules/terraform-aci-mpls-custom-qos-policy | n/a |
| [aci\_mst\_policy](#module\_aci\_mst\_policy) | ./modules/terraform-aci-mst-policy | n/a |
| [aci\_multicast\_route\_map](#module\_aci\_multicast\_route\_map) | ./modules/terraform-aci-multicast-route-map | n/a |
| [aci\_nd\_interface\_policy](#module\_aci\_nd\_interface\_policy) | ./modules/terraform-aci-nd-interface-policy | n/a |
| [aci\_nd\_ra\_prefix\_policy](#module\_aci\_nd\_ra\_prefix\_policy) | ./modules/terraform-aci-nd-ra-prefix-policy | n/a |
| [aci\_netflow\_exporter](#module\_aci\_netflow\_exporter) | ./modules/terraform-aci-netflow-exporter | n/a |
| [aci\_netflow\_monitor](#module\_aci\_netflow\_monitor) | ./modules/terraform-aci-netflow-monitor | n/a |
| [aci\_netflow\_record](#module\_aci\_netflow\_record) | ./modules/terraform-aci-netflow-record | n/a |
| [aci\_netflow\_vmm\_exporter](#module\_aci\_netflow\_vmm\_exporter) | ./modules/terraform-aci-netflow-vmm-exporter | n/a |
| [aci\_node\_control\_policy](#module\_aci\_node\_control\_policy) | ./modules/terraform-aci-node-control-policy | n/a |
| [aci\_node\_registration](#module\_aci\_node\_registration) | ./modules/terraform-aci-node-registration | n/a |
| [aci\_oob\_contract](#module\_aci\_oob\_contract) | ./modules/terraform-aci-oob-contract | n/a |
| [aci\_oob\_endpoint\_group](#module\_aci\_oob\_endpoint\_group) | ./modules/terraform-aci-oob-endpoint-group | n/a |
| [aci\_oob\_external\_management\_instance](#module\_aci\_oob\_external\_management\_instance) | ./modules/terraform-aci-oob-external-management-instance | n/a |
| [aci\_oob\_node\_address](#module\_aci\_oob\_node\_address) | ./modules/terraform-aci-oob-node-address | n/a |
| [aci\_ospf\_interface\_policy](#module\_aci\_ospf\_interface\_policy) | ./modules/terraform-aci-ospf-interface-policy | n/a |
| [aci\_ospf\_timer\_policy](#module\_aci\_ospf\_timer\_policy) | ./modules/terraform-aci-ospf-timer-policy | n/a |
| [aci\_physical\_domain](#module\_aci\_physical\_domain) | ./modules/terraform-aci-physical-domain | n/a |
| [aci\_pim\_policy](#module\_aci\_pim\_policy) | ./modules/terraform-aci-pim-policy | n/a |
| [aci\_pod\_setup](#module\_aci\_pod\_setup) | ./modules/terraform-aci-pod-setup | n/a |
| [aci\_port\_channel\_member\_policy](#module\_aci\_port\_channel\_member\_policy) | ./modules/terraform-aci-port-channel-member-policy | n/a |
| [aci\_port\_channel\_policy](#module\_aci\_port\_channel\_policy) | ./modules/terraform-aci-port-channel-policy | n/a |
| [aci\_port\_tracking](#module\_aci\_port\_tracking) | ./modules/terraform-aci-port-tracking | n/a |
| [aci\_psu\_policy](#module\_aci\_psu\_policy) | ./modules/terraform-aci-psu-policy | n/a |
| [aci\_ptp](#module\_aci\_ptp) | ./modules/terraform-aci-ptp | n/a |
| [aci\_ptp\_profile](#module\_aci\_ptp\_profile) | ./modules/terraform-aci-ptp-profile | n/a |
| [aci\_qos](#module\_aci\_qos) | ./modules/terraform-aci-qos | n/a |
| [aci\_qos\_policy](#module\_aci\_qos\_policy) | ./modules/terraform-aci-qos-policy | n/a |
| [aci\_radius](#module\_aci\_radius) | ./modules/terraform-aci-radius | n/a |
| [aci\_rbac\_node\_rule](#module\_aci\_rbac\_node\_rule) | ./modules/terraform-aci-rbac-node-rule | n/a |
| [aci\_redirect\_backup\_policy](#module\_aci\_redirect\_backup\_policy) | ./modules/terraform-aci-redirect-backup-policy | n/a |
| [aci\_redirect\_health\_group](#module\_aci\_redirect\_health\_group) | ./modules/terraform-aci-redirect-health-group | n/a |
| [aci\_redirect\_policy](#module\_aci\_redirect\_policy) | ./modules/terraform-aci-redirect-policy | n/a |
| [aci\_remote\_location](#module\_aci\_remote\_location) | ./modules/terraform-aci-remote-location | n/a |
| [aci\_rogue\_endpoint\_control](#module\_aci\_rogue\_endpoint\_control) | ./modules/terraform-aci-rogue-endpoint-control | n/a |
| [aci\_route\_control\_route\_map](#module\_aci\_route\_control\_route\_map) | ./modules/terraform-aci-route-control-route-map | n/a |
| [aci\_route\_tag\_policy](#module\_aci\_route\_tag\_policy) | ./modules/terraform-aci-route-tag-policy | n/a |
| [aci\_routed\_domain](#module\_aci\_routed\_domain) | ./modules/terraform-aci-routed-domain | n/a |
| [aci\_service\_epg\_policy](#module\_aci\_service\_epg\_policy) | ./modules/terraform-aci-service-epg-policy | n/a |
| [aci\_service\_graph\_template](#module\_aci\_service\_graph\_template) | ./modules/terraform-aci-service-graph-template | n/a |
| [aci\_set\_rule](#module\_aci\_set\_rule) | ./modules/terraform-aci-set-rule | n/a |
| [aci\_smart\_licensing](#module\_aci\_smart\_licensing) | ./modules/terraform-aci-smart-licensing | n/a |
| [aci\_snmp\_policy](#module\_aci\_snmp\_policy) | ./modules/terraform-aci-snmp-policy | n/a |
| [aci\_snmp\_trap\_policy](#module\_aci\_snmp\_trap\_policy) | ./modules/terraform-aci-snmp-trap-policy | n/a |
| [aci\_spanning\_tree\_policy](#module\_aci\_spanning\_tree\_policy) | ./modules/terraform-aci-spanning-tree-policy | n/a |
| [aci\_spine\_fabric\_interface\_configuration](#module\_aci\_spine\_fabric\_interface\_configuration) | ./modules/terraform-aci-fabric-interface-configuration | n/a |
| [aci\_spine\_interface\_configuration](#module\_aci\_spine\_interface\_configuration) | ./modules/terraform-aci-interface-configuration | n/a |
| [aci\_sr\_mpls\_external\_endpoint\_group](#module\_aci\_sr\_mpls\_external\_endpoint\_group) | ./modules/terraform-aci-external-endpoint-group | n/a |
| [aci\_sr\_mpls\_l3out](#module\_aci\_sr\_mpls\_l3out) | ./modules/terraform-aci-l3out | n/a |
| [aci\_sr\_mpls\_l3out\_interface\_profile\_manual](#module\_aci\_sr\_mpls\_l3out\_interface\_profile\_manual) | ./modules/terraform-aci-l3out-interface-profile | n/a |
| [aci\_sr\_mpls\_l3out\_node\_profile\_manual](#module\_aci\_sr\_mpls\_l3out\_node\_profile\_manual) | ./modules/terraform-aci-l3out-node-profile | n/a |
| [aci\_storm\_control\_policy](#module\_aci\_storm\_control\_policy) | ./modules/terraform-aci-storm-control-policy | n/a |
| [aci\_syslog\_policy](#module\_aci\_syslog\_policy) | ./modules/terraform-aci-syslog-policy | n/a |
| [aci\_system\_global\_gipo](#module\_aci\_system\_global\_gipo) | ./modules/terraform-aci-system-global-gipo | n/a |
| [aci\_system\_performance](#module\_aci\_system\_performance) | ./modules/terraform-aci-system-performance | n/a |
| [aci\_tacacs](#module\_aci\_tacacs) | ./modules/terraform-aci-tacacs | n/a |
| [aci\_tenant](#module\_aci\_tenant) | ./modules/terraform-aci-tenant | n/a |
| [aci\_tenant\_span\_destination\_group](#module\_aci\_tenant\_span\_destination\_group) | ./modules/terraform-aci-tenant-span-destination-group | n/a |
| [aci\_tenant\_span\_source\_group](#module\_aci\_tenant\_span\_source\_group) | ./modules/terraform-aci-tenant-span-source-group | n/a |
| [aci\_track\_list](#module\_aci\_track\_list) | ./modules/terraform-aci-track-list | n/a |
| [aci\_track\_member](#module\_aci\_track\_member) | ./modules/terraform-aci-track-member | n/a |
| [aci\_trust\_control\_policy](#module\_aci\_trust\_control\_policy) | ./modules/terraform-aci-trust-control-policy | n/a |
| [aci\_useg\_endpoint\_group](#module\_aci\_useg\_endpoint\_group) | ./modules/terraform-aci-useg-endpoint-group | n/a |
| [aci\_user](#module\_aci\_user) | ./modules/terraform-aci-user | n/a |
| [aci\_vlan\_pool](#module\_aci\_vlan\_pool) | ./modules/terraform-aci-vlan-pool | n/a |
| [aci\_vmware\_vmm\_domain](#module\_aci\_vmware\_vmm\_domain) | ./modules/terraform-aci-vmware-vmm-domain | n/a |
| [aci\_vpc\_group](#module\_aci\_vpc\_group) | ./modules/terraform-aci-vpc-group | n/a |
| [aci\_vpc\_policy](#module\_aci\_vpc\_policy) | ./modules/terraform-aci-vpc-policy | n/a |
| [aci\_vrf](#module\_aci\_vrf) | ./modules/terraform-aci-vrf | n/a |
| [aci\_vspan\_destination\_group](#module\_aci\_vspan\_destination\_group) | ./modules/terraform-aci-vspan-destination-group | n/a |
| [aci\_vspan\_session](#module\_aci\_vspan\_session) | ./modules/terraform-aci-vspan-session | n/a |