Are recursive modules even a possibility in Terraform?
I want to create a module called my_module
with the below content
variable "name" {
type = "string"
}
variable "children" {
type = list(object)
}
resource "XXX" "example_resource" {
name = var.name
}
module "example_recursion" {
source = "../my_module"
count = length(var.children)
name = var.children[count.index].name
}
When I do init it seems to get itself in a twist and ends up corrupting the module cache!
Initializing modules...
- name in ../modules/my_module
- name.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion in ../modules/my_module
- name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion in ../modules/my_module
Error: Failed to remove local module cache
│
│ Terraform tried to remove
│ .terraform/modules/name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion
│ in order to reinstall this module, but encountered an error: unlinkat
│ .terraform/modules/name.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion.example_recursion:
│ file name too long