Giter VIP home page Giter VIP logo

terraform-aci-l3out-node-profile's Introduction

Tests

This module is no longer maintained as it has been integrated into the nac-aci module.

Terraform ACI L3out Node Profile Module

Description

Location in GUI: Tenants » XXX » Networking » L3outs » XXX » Logical Node Profiles

Examples

module "aci_l3out_node_profile" {
  source  = "netascode/l3out-node-profile/aci"
  version = ">= 0.2.1"

  tenant      = "ABC"
  l3out       = "L3OUT1"
  name        = "NP1"
  multipod    = true
  remote_leaf = false
  nodes = [{
    node_id               = 201
    pod_id                = 2
    router_id             = "2.2.2.2"
    router_id_as_loopback = false
    loopback              = "12.12.12.12"
    static_routes = [{
      prefix      = "0.0.0.0/0"
      description = "Default Route"
      preference  = 10
      bfd         = true
      next_hops = [{
        ip         = "3.3.3.3"
        preference = 10
        type       = "prefix"
      }]
    }]
  }]
  bgp_peers = [{
    ip                               = "4.4.4.4"
    remote_as                        = 12345
    description                      = "BGP Peer Description"
    allow_self_as                    = true
    as_override                      = true
    disable_peer_as_check            = true
    next_hop_self                    = false
    send_community                   = true
    send_ext_community               = true
    password                         = "BgpPassword"
    allowed_self_as_count            = 5
    bfd                              = true
    disable_connected_check          = true
    ttl                              = 2
    weight                           = 200
    remove_all_private_as            = true
    remove_private_as                = true
    replace_private_as_with_local_as = true
    unicast_address_family           = false
    multicast_address_family         = false
    admin_state                      = false
    local_as                         = 12346
    as_propagate                     = "no-prepend"
    peer_prefix_policy               = "PPP"
    export_route_control             = "ERC"
    import_route_control             = "IRC"
  }]
}

Requirements

Name Version
terraform >= 1.3.0
aci >= 2.0.0

Providers

Name Version
aci >= 2.0.0

Inputs

Name Description Type Default Required
tenant Tenant name. string n/a yes
l3out L3out name. string n/a yes
name Node profile name. string n/a yes
nodes List of nodes. Allowed values node_id: 1-4000. Allowed values pod_id: 1-255. Default value pod_id: 1. Default value router_id_as_loopback: true. Allowed values static_routes.preference: 1-255. Default value static_routes.preference: 1. Default value static_routes.bfd: false. Allowed values static_routes.next_hops.preference: 0-255. Default value static_routes.next_hops.preference: 1. Choices type: prefix, none. Default value type: prefix.
list(object({
node_id = number
pod_id = optional(number, 1)
router_id = string
router_id_as_loopback = optional(bool, true)
loopback = optional(string)
mpls_transport_loopback = optional(string)
segment_id = optional(number)
static_routes = optional(list(object({
prefix = string
description = optional(string, "")
preference = optional(number, 1)
bfd = optional(bool, false)
next_hops = optional(list(object({
ip = string
preference = optional(number, 1)
type = optional(string, "prefix")
})), [])
})), [])
}))
[] no
bgp_peers List of BGP peers. Allowed values remote_as: 0-4294967295. Default value allow_self_as: false. Default value as_override: false. Default value disable_peer_as_check: false. Default value next_hop_self: false. Default value send_community: false. Default value send_ext_community: false. Allowed values allowed_self_as_count: 1-10. Default value allowed_self_as_count: 3. Default value bfd: false. Default value disable_connected_check: false. Allowed values ttl: 1-255. Default value ttl: 1. Allowed values weight: 0-65535. Default value weight: 0. Default value remove_all_private_as: false. Default value remove_private_as: false. Default value replace_private_as_with_local_as: false. Default value unicast_address_family: true. Default value multicast_address_family: true. Default value admin_state: true. Allowed values local_as: 0-4294967295. Choices as_propagate: none, no-prepend, replace-as, dual-as. Default value as_propagate: none.
list(object({
ip = string
remote_as = string
description = optional(string, "")
allow_self_as = optional(bool, false)
as_override = optional(bool, false)
disable_peer_as_check = optional(bool, false)
next_hop_self = optional(bool, false)
send_community = optional(bool, false)
send_ext_community = optional(bool, false)
password = optional(string)
allowed_self_as_count = optional(number, 3)
bfd = optional(bool, false)
disable_connected_check = optional(bool, false)
ttl = optional(number, 1)
weight = optional(number, 0)
remove_all_private_as = optional(bool, false)
remove_private_as = optional(bool, false)
replace_private_as_with_local_as = optional(bool, false)
unicast_address_family = optional(bool, true)
multicast_address_family = optional(bool, true)
admin_state = optional(bool, true)
local_as = optional(number)
as_propagate = optional(string, "none")
peer_prefix_policy = optional(string)
export_route_control = optional(string)
import_route_control = optional(string)
}))
[] no
multipod Multipod L3out flag. bool false no
remote_leaf Remote leaf L3out flag. bool false no
sr_mpls SR MPLS L3out flag. bool false no
bgp_infra_peers List of BGP EVPN peers for SR MPLS L3out. Allowed values remote_as: 0-4294967295. Default value allow_self_as: false. Default value disable_peer_as_check: false. Default value bfd: false. Default value ttl: 2. Default value admin_state: true. Allowed values local_as: 0-4294967295. Choices as_propagate: none, no-prepend, replace-as, dual-as. Default value as_propagate: none.
list(object({
ip = string
remote_as = string
description = optional(string, "")
allow_self_as = optional(bool, false)
disable_peer_as_check = optional(bool, false)
password = optional(string)
bfd = optional(bool, false)
ttl = optional(number, 1)
admin_state = optional(bool, true)
local_as = optional(number)
as_propagate = optional(string, "none")
peer_prefix_policy = optional(string)
}))
[] no
mpls_custom_qos_policy MPLS Customer QoS Policy string "" no
bfd_multihop_node_policy BFD Multihop Node Policy string "" no

Outputs

Name Description
dn Distinguished name of l3extLNodeP object.
name Node profile name.

Resources

Name Type
aci_rest_managed.bfdMhNodeP resource
aci_rest_managed.bfdRsMhNodePol resource
aci_rest_managed.bgpAsP resource
aci_rest_managed.bgpAsP-bgpInfraPeerP resource
aci_rest_managed.bgpInfraPeerP resource
aci_rest_managed.bgpLocalAsnP resource
aci_rest_managed.bgpLocalAsnP-bgpInfraPeerP resource
aci_rest_managed.bgpPeerP resource
aci_rest_managed.bgpRsPeerPfxPol resource
aci_rest_managed.bgpRsPeerPfxPol-bgpInfraPeerP resource
aci_rest_managed.bgpRsPeerToProfile_export resource
aci_rest_managed.bgpRsPeerToProfile_import resource
aci_rest_managed.ipNexthopP resource
aci_rest_managed.ipRouteP resource
aci_rest_managed.l3extInfraNodeP resource
aci_rest_managed.l3extLNodeP resource
aci_rest_managed.l3extLoopBackIfP resource
aci_rest_managed.l3extRsLNodePMplsCustQosPol resource
aci_rest_managed.l3extRsNodeL3OutAtt resource
aci_rest_managed.mplsNodeSidP resource

terraform-aci-l3out-node-profile's People

Contributors

danischm avatar dependabot[bot] avatar juchowan avatar marneves1 avatar novbalu avatar

Watchers

Jorge Gomez Velasquez 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.