Moves the three incus_network resources into a dedicated module called once per entry in var.incus_networks. State was migrated imperatively via `terraform state mv` because lxc/incus v1.0.2 does not implement ResourceWithMoveState, making declarative moved blocks unsupported. Plan confirms zero creates/destroys after migration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
615 B
HCL
37 lines
615 B
HCL
terraform {
|
|
required_providers {
|
|
incus = {
|
|
source = "lxc/incus"
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "incus_network" "hypervisor" {
|
|
for_each = var.hypervisors
|
|
name = var.name
|
|
target = each.key
|
|
type = var.type
|
|
config = {
|
|
"parent" = var.hypervisor_parent
|
|
}
|
|
}
|
|
|
|
resource "incus_network" "witness" {
|
|
for_each = var.witnesses
|
|
name = var.name
|
|
target = each.key
|
|
type = var.type
|
|
config = {
|
|
"parent" = var.witness_parent
|
|
}
|
|
}
|
|
|
|
resource "incus_network" "this" {
|
|
depends_on = [
|
|
incus_network.hypervisor,
|
|
incus_network.witness,
|
|
]
|
|
name = var.name
|
|
type = var.type
|
|
}
|