Terraform nginx入口动态适用于每个规则主机

Terraform nginx入口动态适用于每个规则主机,terraform,nginx-ingress,Terraform,Nginx Ingress,尝试创建我以前在ingress yaml文件中拥有的动态主机规则。主要区别是TF没有“规则”,它们只有一个“规则”,但我认为这只是一个命名转换。目前我正在为每个项目创建入口,但我想做一个动态规则。我知道动态必须在资源/数据/等中。我将如何实现这一点?(不是一个有效的例子) 使用时,在您的情况下,您必须使用规则,而不是每个,以引用每个的中的项目: resource "kubernetes_ingress" "test" { #.. spec {

尝试创建我以前在ingress yaml文件中拥有的动态主机规则。主要区别是TF没有“规则”,它们只有一个“规则”,但我认为这只是一个命名转换。目前我正在为每个项目创建入口,但我想做一个动态规则。我知道动态必须在资源/数据/等中。我将如何实现这一点?(不是一个有效的例子)

使用时,在您的情况下,您必须使用
规则,而不是
每个
,以引用每个
中的项目:

resource "kubernetes_ingress" "test" {

  #..

  spec {
    dynamic "rule" {
      for_each = toset(var.types)
      content {
        host = "${rule.value}.test.mydomain.com"
        http {
          path {
            path = "/"
            backend {
              service_name = kubernetes_service.test[rule.value].metadata.0.name
              service_port = 8080
            }
          }
        }
      }
    }
  }

谢谢,这在文档中并不清楚。
resource "kubernetes_ingress" "test" {

  #..

  spec {
    dynamic "rule" {
      for_each = toset(var.types)
      content {
        host = "${rule.value}.test.mydomain.com"
        http {
          path {
            path = "/"
            backend {
              service_name = kubernetes_service.test[rule.value].metadata.0.name
              service_port = 8080
            }
          }
        }
      }
    }
  }