我正在尝试在kubernetes_ingress
资源中使用动态块。动态块用于spec.rule.http.path
块。不幸的是,我试图动态创建一个path
块,这会导致问题,因为path
似乎是一个保留字。
是否可以重命名动态块中的循环变量,或者以其他方式规避此问题?
这是我当前的代码:
resource "kubernetes_ingress" "ingress" {
metadata { ... }
spec {
tls { ... }
rule {
http {
dynamic "path" {
for_each = var.services
content {
path = path.value.path
backend {
service_name = path.value.name
service_port = path.value.port
}
}
}
}
}
}
}
services
变量具有以下结构:
[
{
name: "foo",
port: 3000,
path: "/foo",
}
]
动态块采用一个名为iterator
的参数,该参数允许您重命名它为其赋值的符号。
dynamic "path" {
for_each = var.services
iterator = "service"
content {
path = service.value.path
backend {
service_name = service.value.name
service_port = service.value.port
}
}
}