Skip to content

Commit

Permalink
Add shutdown option to aci-interface-configuration module
Browse files Browse the repository at this point in the history
  • Loading branch information
andbyrne committed Jan 18, 2024
1 parent 2ed732c commit f610872
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 5 deletions.
22 changes: 18 additions & 4 deletions aci_interface_policies.tf
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ locals {
breakout = try(interface.breakout, "none")
fex_id = try(interface.fex_id, "unspecified")
description = try(interface.description, "")
shutdown = try(interface.shutdown, false)
role = node.role
} if !try(interface.fabric, local.defaults.apic.interface_policies.nodes.interfaces.fabric)
] if node.role == "leaf" && (length(var.managed_interface_policies_nodes) == 0 || contains(var.managed_interface_policies_nodes, node.id)) && try(local.apic.new_interface_configuration, local.defaults.apic.new_interface_configuration) == true
])
Expand All @@ -207,6 +209,8 @@ module "aci_leaf_interface_configuration" {
breakout = each.value.breakout
fex_id = each.value.fex_id
description = each.value.description
shutdown = each.value.shutdown
role = each.value.role
}

locals {
Expand All @@ -223,6 +227,8 @@ locals {
policy_group = try("${subinterface.policy_group}${local.defaults.apic.access_policies.leaf_interface_policy_groups.name_suffix}", "system-ports-default")
fex_id = try(subinterface.fex_id, "unspecified")
description = try(subinterface.description, "")
shutdown = try(subinterface.shutdown, false)
role = node.role
}
] if !try(interface.fabric, local.defaults.apic.interface_policies.nodes.interfaces.fabric)
] if node.role == "leaf" && (length(var.managed_interface_policies_nodes) == 0 || contains(var.managed_interface_policies_nodes, node.id)) && try(local.apic.new_interface_configuration, local.defaults.apic.new_interface_configuration) == true
Expand All @@ -241,6 +247,8 @@ module "aci_leaf_interface_configuration_sub" {
policy_group = each.value.policy_group
fex_id = each.value.fex_id
description = each.value.description
shutdown = each.value.shutdown
role = each.value.role

depends_on = [
module.aci_leaf_interface_configuration
Expand All @@ -260,6 +268,8 @@ locals {
policy_group_type = try([for pg in local.access_policies.leaf_interface_policy_groups : pg.type if pg.name == interface.policy_group][0], "access")
policy_group = try("${interface.policy_group}${local.defaults.apic.access_policies.leaf_interface_policy_groups.name_suffix}", "system-ports-default")
description = try(interface.description, "")
shutdown = try(interface.shutdown, false)
role = node.role
}]
] if node.role == "leaf" && (length(var.managed_interface_policies_nodes) == 0 || contains(var.managed_interface_policies_nodes, node.id)) && try(local.apic.new_interface_configuration, local.defaults.apic.new_interface_configuration) == true
])
Expand All @@ -276,6 +286,8 @@ module "aci_interface_configuration_fex" {
policy_group_type = each.value.policy_group_type
policy_group = each.value.policy_group
description = each.value.description
shutdown = each.value.shutdown
role = each.value.role

depends_on = [
module.aci_leaf_interface_configuration,
Expand All @@ -293,7 +305,8 @@ locals {
port = interface.port
policy_group = try("${interface.policy_group}${local.defaults.apic.access_policies.spine_interface_policy_groups.name_suffix}", "system-ports-default")
description = try(interface.description, "")
role = "spine"
shutdown = try(interface.shutdown, false)
role = node.role
} if !try(interface.fabric, local.defaults.apic.interface_policies.nodes.interfaces.fabric)
] if node.role == "spine" && (length(var.managed_interface_policies_nodes) == 0 || contains(var.managed_interface_policies_nodes, node.id)) && try(local.apic.new_interface_configuration, local.defaults.apic.new_interface_configuration) == true
])
Expand All @@ -308,6 +321,7 @@ module "aci_spine_interface_configuration" {
port = each.value.port
policy_group = each.value.policy_group
description = each.value.description
shutdown = each.value.shutdown
role = each.value.role
}

Expand All @@ -321,7 +335,7 @@ locals {
port = interface.port
policy_group = try("${interface.policy_group}${local.defaults.apic.fabric_policies.leaf_interface_policy_groups.name_suffix}", "system-ports-default")
description = try(interface.description, "")
shutdown = try(interface.shutdown, local.defaults.apic.interface_policies.nodes.interfaces.shutdown)
shutdown = try(interface.shutdown, false)
role = node.role
} if try(interface.fabric, local.defaults.apic.interface_policies.nodes.interfaces.fabric)
] if node.role == "leaf" && (length(var.managed_interface_policies_nodes) == 0 || contains(var.managed_interface_policies_nodes, node.id)) && try(local.apic.new_interface_configuration, local.defaults.apic.new_interface_configuration) == true
Expand Down Expand Up @@ -353,7 +367,7 @@ locals {
sub_port = subinterface.port
policy_group = try("${subinterface.policy_group}${local.defaults.apic.fabric_policies.leaf_interface_policy_groups.name_suffix}", "system-ports-default")
description = try(subinterface.description, "")
shutdown = try(subinterface.shutdown, local.defaults.apic.interface_policies.nodes.interfaces.shutdown)
shutdown = try(subinterface.shutdown, false)
role = node.role
}
] if try(interface.fabric, local.defaults.apic.interface_policies.nodes.interfaces.fabric)
Expand Down Expand Up @@ -389,7 +403,7 @@ locals {
port = interface.port
policy_group = try("${interface.policy_group}${local.defaults.apic.fabric_policies.spine_interface_policy_groups.name_suffix}", "system-ports-default")
description = try(interface.description, "")
shutdown = try(interface.shutdown, local.defaults.apic.interface_policies.nodes.interfaces.shutdown)
shutdown = try(interface.shutdown, false)
role = node.role
} if try(interface.fabric, local.defaults.apic.interface_policies.nodes.interfaces.fabric)
] if node.role == "spine" && (length(var.managed_interface_policies_nodes) == 0 || contains(var.managed_interface_policies_nodes, node.id)) && try(local.apic.new_interface_configuration, local.defaults.apic.new_interface_configuration) == true
Expand Down
1 change: 0 additions & 1 deletion defaults/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -661,7 +661,6 @@ defaults:
from_module: 1
module: 1
fabric: false
shutdown: false
fexes:
interfaces:
from_module: 1
Expand Down
1 change: 1 addition & 0 deletions modules/terraform-aci-interface-configuration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ module "aci_interface_configuration" {
| <a name="input_fex_id"></a> [fex\_id](#input\_fex\_id) | FEX ID. Allowed values: 101-199. `0` meaning no FEX. | `string` | `"unspecified"` | no |
| <a name="input_description"></a> [description](#input\_description) | Description. | `string` | `""` | no |
| <a name="input_role"></a> [role](#input\_role) | Node role. Allowed values: `leaf`, `spine`. | `string` | `"leaf"` | no |
| <a name="input_shutdown"></a> [shutdown](#input\_shutdown) | Shutdown interface. | `bool` | `false` | no |

## Outputs

Expand Down
1 change: 1 addition & 0 deletions modules/terraform-aci-interface-configuration/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ resource "aci_rest_managed" "infraPortConfig" {
node = var.node_id
port = var.port
role = var.role
shutdown = var.shutdown ? "yes" : "no"
subPort = var.sub_port
}
}
6 changes: 6 additions & 0 deletions modules/terraform-aci-interface-configuration/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -106,3 +106,9 @@ variable "role" {
error_message = "Allowed values: `leaf`, `spine`."
}
}

variable "shutdown" {
description = "Shutdown interface."
type = bool
default = false
}

0 comments on commit f610872

Please sign in to comment.