Giter VIP home page Giter VIP logo

terraform-aci-external-endpoint-group's Introduction

Tests

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

Terraform ACI External Endpoint Group Module

Manages ACI External Endpoint Group

Location in GUI: Tenants » XXX » Networking » L3outs » XXX » External EPGs

Examples

module "aci_external_endpoint_group" {
  source  = "netascode/external-endpoint-group/aci"
  version = ">= 0.2.1"

  tenant          = "ABC"
  l3out           = "L3OUT1"
  name            = "EXTEPG1"
  alias           = "EXTEPG1-ALIAS"
  description     = "My Description"
  preferred_group = true
  qos_class       = "level2"
  target_dscp     = "CS2"
  subnets = [{
    name                           = "SUBNET1"
    prefix                         = "10.0.0.0/8"
    import_route_control           = true
    export_route_control           = true
    shared_route_control           = true
    import_security                = true
    shared_security                = true
    aggregate_import_route_control = true
    aggregate_export_route_control = true
    aggregate_shared_route_control = true
    bgp_route_summarization        = true
  }]
  contract_consumers          = ["CON1"]
  contract_providers          = ["CON1"]
  contract_imported_consumers = ["ICON1"]
}

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 Name. string n/a yes
alias Alias. string "" no
description Description. string "" no
preferred_group Preferred group membership. bool false no
qos_class QoS class. Choices: level1, level2, level3, level4, level5, level6, unspecified. string "unspecified" 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
subnets List of subnets. Default value import_route_control: false. Default value export_route_control: false. Default value shared_route_control: false. Default value import_security: true. Default value shared_security: false. Default value aggregate_import_route_control: false. Default value aggregate_export_route_control: false. Default value aggregate_shared_route_control: false. Default value bgp_route_summarization: false.
list(object({
name = optional(string, "")
prefix = string
import_route_control = optional(bool, false)
export_route_control = optional(bool, false)
shared_route_control = optional(bool, false)
import_security = optional(bool, true)
shared_security = optional(bool, false)
aggregate_import_route_control = optional(bool, false)
aggregate_export_route_control = optional(bool, false)
aggregate_shared_route_control = optional(bool, false)
bgp_route_summarization = optional(bool, false)
}))
[] no
contract_consumers List of contract consumers. list(string) [] no
contract_providers List of contract providers. list(string) [] no
contract_imported_consumers List of imported contract consumers. list(string) [] no
sr_mpls_infra_l3out SR MPLS Infra L3Out name. string "" no

Outputs

Name Description
dn Distinguished name of l3extInstP object.
name External endpoint group name.

Resources

Name Type
aci_rest_managed.fvRsCons resource
aci_rest_managed.fvRsConsIf resource
aci_rest_managed.fvRsProv resource
aci_rest_managed.l3extInstP resource
aci_rest_managed.l3extRsLblToInstP resource
aci_rest_managed.l3extRsSubnetToRtSumm resource
aci_rest_managed.l3extSubnet resource

terraform-aci-external-endpoint-group's People

Contributors

danischm avatar dependabot[bot] avatar juchowan avatar

Stargazers

Devendra Gupta avatar

Watchers

Jorge Gomez Velasquez avatar  avatar

Forkers

ryanoatz99

terraform-aci-external-endpoint-group's Issues

A route control profile cannot be added under the External EPG

The module should allow the configuration of a route-control-profile on the External EPG.

Two variables need to be configured under the class "l3extRsInstPToProfile":

    "tnRtctrlProfileName" = var.<name.of.routemap>
	"direction"           = var.<direction.of.routemap>

Example:

resource "aci_rest_managed" "l3extRsInstPToProfile" {
  dn         = "uni/tn-${var.tenant}/out-${var.l3out}/instP-${var.name}"
  class_name = "l3extRsInstPToProfile"
  content = {
    "tnRtctrlProfileName" = var.<name.of.routemap>
	"direction"           = var.<direction.of.routemap>
  }
}

The route-control-profile in question has to be created under the L3out DN, class rtctrlProfile.

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.