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

https://github.com/netascode/terraform-nxos-interface-nve

Terraform NX-OS NVE Interface Module
https://github.com/netascode/terraform-nxos-interface-nve

cisco nx-os nxos terraform terraform-module

Last synced: 2 months ago
JSON representation

Terraform NX-OS NVE Interface Module

Awesome Lists containing this project

README

          

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

# Terraform NX-OS NVE Interface Module

Manages NX-OS NVE Interface

Model Documentation: [Link](https://developer.cisco.com/docs/cisco-nexus-3000-and-9000-series-nx-api-rest-sdk-user-guide-and-api-reference-release-9-3x/#!configuring-nve-interfaces)

## Examples

```hcl
module "nxos_interface_nve" {
source = "netascode/interface-nve/nxos"
version = ">= 0.2.0"

admin_state = true
advertise_virtual_mac = true
hold_down_time = 123
host_reachability_protocol = "bgp"
ingress_replication_protocol_bgp = true
source_interface = "lo0"
suppress_arp = true
suppress_mac_route = true
vnis = [
{
vni = 10
associate_vrf = true
},
{
vni = 11
associate_vrf = true
},
{
vni = 12
multicast_group = "239.1.1.1"
},
{
vni = 13
ingress_replication_protocol = "bgp"
suppress_arp = "enabled"
},
{
vni = 14
ingress_replication_protocol = "unknown"
}
]
}
```

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.0 |
| [nxos](#requirement\_nxos) | >= 0.5.0 |

## Providers

| Name | Version |
|------|---------|
| [nxos](#provider\_nxos) | >= 0.5.0 |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [device](#input\_device) | A device name from the provider configuration. | `string` | `null` | no |
| [admin\_state](#input\_admin\_state) | Administrative port state. Set `true` for `up` or `false` for `down`. | `bool` | `false` | no |
| [advertise\_virtual\_mac](#input\_advertise\_virtual\_mac) | Enable or disable Virtual MAC Advertisement in VPC mode. | `bool` | `false` | no |
| [hold\_down\_time](#input\_hold\_down\_time) | Hold Down Time. | `number` | `180` | no |
| [host\_reachability\_protocol](#input\_host\_reachability\_protocol) | Host Reachability Protocol. Choices: `Flood-and-learn`, `bgp`, `controller`, `openflow`, `openflowIR`. | `string` | `"Flood-and-learn"` | no |
| [ingress\_replication\_protocol\_bgp](#input\_ingress\_replication\_protocol\_bgp) | Enable or disable VxLAN Ingress Replication Protocol BGP. | `bool` | `false` | no |
| [multicast\_group\_l2](#input\_multicast\_group\_l2) | Base multicast group address for L2. | `string` | `"0.0.0.0"` | no |
| [multicast\_group\_l3](#input\_multicast\_group\_l3) | Base multicast group address for L3. | `string` | `"0.0.0.0"` | no |
| [multisite\_source\_interface](#input\_multisite\_source\_interface) | Multisite Border Gateway source interface. Must match first field in the output of `show int brief`. Example: `lo100`. | `string` | `"unspecified"` | no |
| [source\_interface](#input\_source\_interface) | Multisite Border Gateway source interface. Must match first field in the output of `show int brief`. Example: `lo1`. | `string` | `"unspecified"` | no |
| [suppress\_arp](#input\_suppress\_arp) | Enable or disable suppress ARP. | `bool` | `false` | no |
| [suppress\_mac\_route](#input\_suppress\_mac\_route) | Enable or disable suppress MAC Route. | `bool` | `false` | no |
| [vnis](#input\_vnis) | List of vnis. Default value `associate_vrf`: `false`. Default value `multicast_group`: `0.0.0.0`. Choices `multisite_ingress_replication`: `enable`, `disable`, `enableOptimized`. Default value `multisite_ingress_replication`: `disable`. Choices `suppress_arp`: `enabled`, `disabled`, `off`. Default value `suppress_arp`: `off`. Choices `ingress_replication_protocol`: `bgp`, `static`, `unknown`. Default value `ingress_replication_protocol`: `unknown`. |

list(object({
vni = number
associate_vrf = optional(bool)
multicast_group = optional(string)
multisite_ingress_replication = optional(string)
suppress_arp = optional(string)
ingress_replication_protocol = optional(string)
}))
| `[]` | no |

## Outputs

| Name | Description |
|------|-------------|
| [dn](#output\_dn) | Distinguished name of the object. |

## Resources

| Name | Type |
|------|------|
| [nxos_nve_interface.nvoEp](https://registry.terraform.io/providers/CiscoDevNet/nxos/latest/docs/resources/nve_interface) | resource |
| [nxos_nve_vni.nvoNw](https://registry.terraform.io/providers/CiscoDevNet/nxos/latest/docs/resources/nve_vni) | resource |
| [nxos_nve_vni_container.nvoNws](https://registry.terraform.io/providers/CiscoDevNet/nxos/latest/docs/resources/nve_vni_container) | resource |
| [nxos_nve_vni_ingress_replication.nvoIngRepl](https://registry.terraform.io/providers/CiscoDevNet/nxos/latest/docs/resources/nve_vni_ingress_replication) | resource |