Giter VIP home page Giter VIP logo

terraform-nxos-bgp's Introduction

Tests

Terraform NX-OS BGP Module

Manages NX-OS BGP

Model Documentation: Link

Examples

module "nxos_bgp" {
  source  = "netascode/bgp/nxos"
  version = ">= 0.2.0"

  asn                     = "65001"
  enhanced_error_handling = false
  template_peers = [
    {
      name             = "SPINE-PEERS"
      asn              = "65001"
      description      = "Spine Peers template"
      peer_type        = "fabric-external"
      source_interface = "lo0"
      address_families = [
        {
          address_family          = "ipv4_unicast"
          send_community_standard = true
          route_reflector_client  = true
        },
        {
          address_family          = "l2vpn_evpn"
          send_community_standard = true
          send_community_extended = true
          route_reflector_client  = true
        }
      ]
    }
  ]
  vrfs = [
    {
      vrf                             = "default"
      router_id                       = "1.2.3.4"
      log_neighbor_changes            = true
      graceful_restart_stalepath_time = 123
      graceful_restart_restart_time   = 123
      neighbors = [
        {
          ip               = "5.6.7.8"
          description      = "My description"
          peer_type        = "fabric-external"
          asn              = "65002"
          source_interface = "lo2"
          address_families = [
            {
              address_family          = "ipv4_unicast"
              send_community_standard = true
              send_community_extended = true
              route_reflector_client  = false
            },
            {
              address_family          = "l2vpn_evpn"
              send_community_standard = true
              route_reflector_client  = false
            }
          ]
        },
        {
          ip           = "9.10.11.12"
          description  = "My description 2"
          inherit_peer = "SPINE-PEERS"
        }
      ]
    },
    {
      vrf                             = "VRF1"
      router_id                       = "10.20.30.40"
      log_neighbor_changes            = true
      graceful_restart_stalepath_time = 1230
      graceful_restart_restart_time   = 1230
      neighbors = [
        {
          ip          = "50.60.70.80"
          description = "My description"
        },
        {
          ip          = "90.100.110.120"
          description = "My description 2"
        }
      ]
    }
  ]
}

Requirements

Name Version
terraform >= 1.3.0
nxos >= 0.5.0

Providers

Name Version
nxos >= 0.5.0

Inputs

Name Description Type Default Required
device A device name from the provider configuration. string null no
asn BGP Autonomous system number. string n/a yes
enhanced_error_handling BGP Enhanced error handling. bool true no
template_peers BGP Template Peers list.
Choices peer_type: fabric-internal, fabric-external, fabric-border-leaf. Default value peer_type: fabric-internal.
List address_families:
Choices address_family: ipv4_unicast, ipv6_unicast.
list(object({
name = string
asn = optional(string)
description = optional(string, "")
peer_type = optional(string, "fabric-internal")
source_interface = optional(string, "unspecified")
address_families = optional(list(object({
address_family = string
send_community_standard = optional(bool, false)
send_community_extended = optional(bool, false)
route_reflector_client = optional(bool, false)
})), [])
}))
[] no
vrfs BGP VRF list.
List neighbors:
Allowed formats ip: 192.168.1.1 or 192.168.1.0/24.
Choices peer_type: fabric-internal, fabric-external, fabric-border-leaf. Default value peer_type: fabric-internal.
List address_families:
Choices address_family: ipv4_unicast, ipv6_unicast, l2vpn_evpn.
list(object({
vrf = string
router_id = optional(string)
log_neighbor_changes = optional(bool, false)
graceful_restart_stalepath_time = optional(number, 300)
graceful_restart_restart_time = optional(number, 120)
neighbors = optional(list(object({
ip = string
asn = optional(string)
inherit_peer = optional(string, "")
description = optional(string, "")
peer_type = optional(string, "fabric-internal")
source_interface = optional(string, "unspecified")
address_families = optional(list(object({
address_family = string
send_community_standard = optional(bool, false)
send_community_extended = optional(bool, false)
route_reflector_client = optional(bool, false)
})))
})))
}))
[] no

Outputs

Name Description
dn Distinguished name of the object.

Resources

Name Type
nxos_bgp.bgpEntity resource
nxos_bgp_graceful_restart.bgpGr resource
nxos_bgp_instance.bgpInst resource
nxos_bgp_peer.bgpPeer resource
nxos_bgp_peer_address_family.bgpPeerAf resource
nxos_bgp_peer_template.bgpPeerCont resource
nxos_bgp_peer_template_address_family.bgpPeerAf resource
nxos_bgp_route_control.bgpRtCtrl resource
nxos_bgp_vrf.bgpDom resource

terraform-nxos-bgp's People

Contributors

danischm avatar dependabot[bot] avatar vaneuk avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.