Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

netascode/terraform-aci-l3out

Tests

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

Terraform ACI L3out Module

Manages ACI L3out

Location in GUI: Tenants » XXX » Networking » L3outs

Examples

module "aci_l3out" {
  source  = "netascode/l3out/aci"
  version = ">= 0.2.0"

  tenant                                  = "ABC"
  name                                    = "L3OUT1"
  multipod                                = false
  alias                                   = "L3OUT1-ALIAS"
  description                             = "My Description"
  routed_domain                           = "RD1"
  vrf                                     = "VRF1"
  bgp                                     = true
  ospf                                    = true
  ospf_area                               = "0.0.0.10"
  ospf_area_cost                          = 10
  ospf_area_type                          = "stub"
  l3_multicast_ipv4                       = true
  target_dscp                             = "CS0"
  import_route_control_enforcement        = true
  export_route_control_enforcement        = true
  interleak_route_map                     = "ILRM"
  dampening_ipv4_route_map                = "D4RM"
  dampening_ipv6_route_map                = "D6RM"
  default_route_leak_policy               = true
  default_route_leak_policy_always        = true
  default_route_leak_policy_criteria      = "in-addition"
  default_route_leak_policy_context_scope = false
  default_route_leak_policy_outside_scope = false
  redistribution_route_maps = [{
    source    = "direct"
    route_map = "RRM"
  }]
  import_route_map_description = "IRM Description"
  import_route_map_type        = "global"
  import_route_map_contexts = [{
    name        = "ICON1"
    description = "ICON1 Description"
    action      = "deny"
    order       = 5
    set_rule    = "ISET1"
    match_rule  = "IMATCH1"
  }]
  export_route_map_description = "ERM Description"
  export_route_map_type        = "global"
  export_route_map_contexts = [{
    name        = "ECON1"
    description = "ECON1 Description"
    action      = "deny"
    order       = 6
    set_rule    = "ESET1"
    match_rule  = "EMATCH1"
  }]
}

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
name L3out name. string n/a yes
alias Alias. string "" no
description Description. string "" no
routed_domain Routed domain name. string n/a yes
vrf VRF name. string n/a yes
ospf Enable OSPF routing. bool false no
bgp Enable BGP routing. bool false no
eigrp Enable EIGRP routing. bool false no
ospf_area OSPF area. Allowed values are backbone, a number between 1 and 4294967295, or an ID in IP address format. string "backbone" no
ospf_area_cost OSPF area cost. Minimum value: 1. Maximum value: 16777215. number 1 no
ospf_area_type OSPF area type. Choices: regular, stub, nssa. string "regular" no
eigrp_asn EIGRP Autonomous System Number area cost. Minimum value: 1. Maximum value: 65535. number 1 no
l3_multicast_ipv4 L3 IPv4 Multicast. bool false no
target_dscp Target DSCP. Choices: CS0, CS1, AF11, AF12, AF13, CS2, AF21, AF22, AF23, CS3, AF31, AF32, AF33, CS4, AF41, AF42, AF43, CS5, VA, EF, CS6, CS7, unspecified or a number between 0 and 63. string "unspecified" no
import_route_control_enforcement L3 Import Route-Control Enforcement. bool false no
export_route_control_enforcement L3 Export Route-Control Enforcement. bool true no
interleak_route_map Interleak route map name. string "" no
dampening_ipv4_route_map Dampening IPv4 route map name. string "" no
dampening_ipv6_route_map Dampening IPv6 route map name. string "" no
default_route_leak_policy Default route leak policy. bool false no
default_route_leak_policy_always Default route leak policy always. bool false no
default_route_leak_policy_criteria Default route leak policy criteria. Choices: only, in-addition. string "only" no
default_route_leak_policy_context_scope Default route leak policy context scope. bool true no
default_route_leak_policy_outside_scope Default route leak policy outside scope. bool true no
redistribution_route_maps List of redistribution route maps. Choices source: direct, attached-host, static. Default value source: static.
list(object({
source = optional(string, "static")
route_map = string
}))
[] no
import_route_map_description Import route map description. string "" no
import_route_map_type Import route map type. Choices: combinable, global. string "combinable" no
import_route_map_contexts List of import route map contexts. Choices action: permit, deny. Default value action: permit. Allowed values order: 0-9. Default value order: 0.
list(object({
name = string
description = optional(string, "")
action = optional(string, "permit")
order = optional(number, 0)
set_rule = optional(string)
match_rule = optional(string)
}))
[] no
export_route_map_description Import route map description. string "" no
export_route_map_type Import route map type. Choices: combinable, global. string "combinable" no
export_route_map_contexts List of export route map contexts. Choices action: permit, deny. Default value action: permit. Allowed values order: 0-9. Default value order: 0.
list(object({
name = string
description = optional(string, "")
action = optional(string, "permit")
order = optional(number, 0)
set_rule = optional(string)
match_rule = optional(string)
}))
[] no
multipod Multipod L3out flag. bool true no
sr_mpls SR MPLS L3out flag. bool false no
sr_mpls_infra_l3out SR MPLS Infra L3Out name. string "" no
sr_mpls_inbound_route_map SR MPLS Tenant L3out Inbound Route Map name. string "" no
sr_mpls_outbound_route_map SR MPLS Tenant L3out Outbound Route Map name. string "" no

Outputs

Name Description
dn Distinguished name of l3extOut object.
name L3out name.

Resources

Name Type
aci_rest_managed.bgpExtP resource
aci_rest_managed.eigrpExtP resource
aci_rest_managed.l3extConsLbl resource
aci_rest_managed.l3extDefaultRouteLeakP resource
aci_rest_managed.l3extInstP_sr_mpls resource
aci_rest_managed.l3extOut resource
aci_rest_managed.l3extProvLbl resource
aci_rest_managed.l3extRsDampeningPol_ipv4 resource
aci_rest_managed.l3extRsDampeningPol_ipv6 resource
aci_rest_managed.l3extRsEctx resource
aci_rest_managed.l3extRsInterleakPol resource
aci_rest_managed.l3extRsL3DomAtt resource
aci_rest_managed.l3extRsLblToProfile_export resource
aci_rest_managed.l3extRsLblToProfile_import resource
aci_rest_managed.l3extRsRedistributePol resource
aci_rest_managed.mplsExtP resource
aci_rest_managed.mplsRsLabelPol resource
aci_rest_managed.ospfExtP resource
aci_rest_managed.pimExtP resource
aci_rest_managed.rtctrlCtxP_export resource
aci_rest_managed.rtctrlCtxP_import resource
aci_rest_managed.rtctrlProfile_export resource
aci_rest_managed.rtctrlProfile_import resource
aci_rest_managed.rtctrlRsCtxPToSubjP_export resource
aci_rest_managed.rtctrlRsCtxPToSubjP_import resource
aci_rest_managed.rtctrlRsScopeToAttrP_export resource
aci_rest_managed.rtctrlRsScopeToAttrP_import resource
aci_rest_managed.rtctrlScope_export resource
aci_rest_managed.rtctrlScope_import resource