Code Monkey home page Code Monkey logo

terraform-aci-access_policy's Introduction

terraform-aci-access_policy

Manages ACI Access Policy

  • VLAN
  • Physical domain
  • Link level policy
  • CDP policy
  • LLDP policy
  • LACP policy
  • AAEP
  • Leaf access policy group
  • Access port selector
  • Leaf profile
  • Leaf interface profile

How to use

Example

module "access_policy" {
  source  = "insobi/access_policy/aci"
  version = "0.1.0"

  vlan_pools = {
    vlan1 = { vlan_name = "demo-vlan", alloc_mode = "static" }
  }
  
  vlan_pools_ranges = {
    range1 = { vlan_pool_name = "demo-vlan", from = "vlan-2500", to = "vlan-2600", alloc_mode = "static" }
  }
  
  physical_domains = {
    dom1 = { name = "demo_dom", vlan_pool = "demo-vlan" }
  }
  
  link_level_policies = {
    pol1 = { name = "auto_nego", auto_neg = "on" },
    pol2 = { name = "demo_1G", auto_neg = "off", speed = "1G" },
    pol3 = { name = "demo_10G", auto_neg = "off", speed = "10G" }
  }
  
  cdp_policies = {
    pol1 = { name = "cdp_enable", admin_st = "enabled" },
    pol2 = { name = "cdp_disable", admin_st = "disabled" }
  }
  
  lldp_policies = {
    pol1 = { name = "lldp_disable", receive_state = "disabled", trans_state = "disabled" }
  }
  
  lacp_policies = {
    pol1 = { name = "lacp_active", mode = "active" }
  }
  
  aaeps = {
    aaep1 = { name = "demo_aep", physical_domains = ["demo_dom"] }
  }
  
  leaf_access_policy_groups = {
    grp1 = { name = "lf_auto", cdp_policy = "cdp_disable", aaep = "demo_aep", lldp_policy = "lldp_disable", link_level_policy = "auto_nego" }
    grp2 = { name = "lf_1G", cdp_policy = "cdp_disable", aaep = "demo_aep", lldp_policy = "lldp_disable", link_level_policy = "demo_1G" }
    grp3 = { name = "lf_10G", cdp_policy = "cdp_disable", aaep = "demo_aep", lldp_policy = "lldp_disable", link_level_policy = "demo_10G" }
  }
  
  access_port_selectors = {
    sel1 = { intf_prof = "demo_prof", name = "port_sel_1_41", intf_policy = "lf_1G", from_port = 1, to_port = 41 }
  }
  
  leaf_profiles = {
    prof1 = { name = "leaf103", leaf_interface_profile = ["demo_prof"], leaf_selectors = ["leaf103_sel"] },
    prof2 = { name = "leaf104", leaf_interface_profile = ["demo_prof"], leaf_selectors = ["leaf104_sel"] },
    prof3 = { name = "leaf105", leaf_interface_profile = ["demo_prof"], leaf_selectors = ["leaf105_sel"] }
  }
  
  leaf_selectors = {
    sel1 = { name = "leaf103_sel", leaf_profile = "leaf103", switch_association_type = "range", block = "103", from = "103", to = "103" },
    sel2 = { name = "leaf104_sel", leaf_profile = "leaf104", switch_association_type = "range", block = "104", from = "104", to = "104" },
    sel3 = { name = "leaf105_sel", leaf_profile = "leaf105", switch_association_type = "range", block = "105", from = "105", to = "105" }
  }
  
  leaf_interface_profiles = {
    prof1 = { name = "demo_prof" }
  }
}

Requirements

Name Version
terraform >= 0.13.4
aci >= 2.1.0

Providers

Name Version
aci >= 2.1.0

Inputs

Name Description Type Default Required
vlan_pools VLAN Pools
map(object({
name = string,
alloc_mode = string,
desc = string
}))
{} no
vlan_pools_ranges VLAN pool ranges
map(object({
vlan_pool_name = string,
from = string,
to = string,
alloc_mode = string,
desc = string
}))
{} no
physical_domains Physical domains
map(object({
name = string,
vlan_pool = string
}))
{} no
cdp_policies CDP policies
map(object({
name = string,
admin_st = string,
desc = string
}))
{} no
lldp_policies LLDP policies
map(object({
name = string,
receive_state = string,
trans_state = string,
desc = string
}))
{} no
lacp_policies LACP policies
map(object({
name = string,
mode = string,
desc = string
}))
{} no
link_level_policies Link level policies
map(object({
name = string,
auto_neg = string,
speed = string,
desc = string
}))
{} no
aaeps AAEPs
map(object({
name = string,
physical_domains = list(string),
desc = string
}))
{} no
leaf_access_policy_groups Leaf access policy groups
map(object({
name = string,
cdp_policy = string,
aaep = string,
lldp_policy = string,
link_level_policy = string,
desc = string
}))
{} no
leaf_interface_profiles Leaf interface profiles
map(object({
name = string,
desc = string
}))
{} no
access_port_selectors Access port selectors
map(object({
name = string,
intf_prof = string,
intf_policy = string,
from_port = string,
to_port = string,
desc = string
}))
{} no
leaf_profiles Leaf profiles
map(object({
name = string,
leaf_interface_profile = list(string),
leaf_selectors = list(string),
desc = string
}))
{} no
leaf_selectors Leaf selectors
map(object({
name = string,
leaf_profile = string,
switch_association_type = string,
block = string,
from = string,
to = string,
desc = string
}))
{} no

Outputs

TBD

Resources

Name Type
aci_access_port_block.aci_access_port_blocks resource
aci_access_port_selector.aci_access_port_selectors resource
aci_attachable_access_entity_profile.aci_aaeps resource
aci_cdp_interface_policy.aci_cdp_interface_policies resource
aci_fabric_if_pol.link_level_policies resource
aci_lacp_policy.lacp_policies resource
aci_leaf_access_port_policy_group.aci_leaf_access_port_policy_groups resource
aci_leaf_interface_profile.aci_leaf_interface_profiles resource
aci_leaf_profile.aci_leaf_profiles resource
aci_leaf_selector.leaf_selectors resource
aci_lldp_interface_policy.aci_lldp_policies resource
aci_node_block.node_blocks resource
aci_physical_domain.aci_physical_domains resource
aci_ranges.aci_vlan_pools_ranges resource
aci_vlan_pool.aci_vlan_pools resource

terraform-aci-access_policy's People

Contributors

insobi avatar

Watchers

 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.