>

템플릿에서 많은 파일을 생성하려고합니다-하드 코드 된 1을 count.index로 바꿔야합니다 .terraform이 어떤 형식을 사용할 수 있는지 확실하지 않습니다.

resource "local_file" "foo" {
  count = "${length(var.files)}"
  content  = "${data.template_file.tenant_repo_multi.1.rendered}"
  #TODO: Replace 1 with count index.
  filename = "${element(var.files, count.index)}"
}

data "template_file" "tenant_repo_multi" {
  count = "${length(var.files)}"
  template = "${file("templates/${element(var.files, count.index)}")}"
}
variable "files" {
  type    = "list"
  default = ["filebeat-config_filebeat.yml",...]
}

실행 중입니다

Terraform v0.11.7
+ provider.gitlab v1.0.0
+ provider.local v1.1.0
+ provider.template v1.0.0

  • 답변 # 1

    tenant_repo_multi 를 반복 할 수 있습니다  데이터 소스가 이렇게-

    resource "local_file" "foo" {
      count    = "${length(var.files)}"
      content  = "${element(data.template_file.tenant_repo_multi.*.rendered, count.index)}"
      filename = "${element(var.files, count.index)}"
    }
    
    

    그러나 Terraform Template 공급자에서 template_dir 리소스를 사용하는 것을 고려했습니다. 아래 예-

    resource "template_dir" "config" {
        source_dir      = "./unrendered"
        destination_dir = "./rendered"
        vars = {
            message = "world"
        }
    }
    
    

  • 이전 javascript - 모음으로 시작하는 문자열 만 유지하는 문자열 배열 필터링
  • 다음 html - 한 번에 전체 행을 가리킬 수 없습니다