0 Вопрос: Не удалось воспроизвести пример главы 6 «Terraform Up and Running» в файле .tfvars

вопрос создан в Thu, May 2, 2019 12:00 AM

Я пытаюсь воспроизвести модель, описанную в главе 6 «Terraform Up and Running», где хранилище содержит модули (файлы .tf), а другое содержит только файлы .tfvars, которые ссылаются на модули с аргументом источника. . р>

Этот код, помещенный в terraform.tfvars, не работает, модуль не извлекается, terrafrom не сообщает об изменениях (ничего не нужно применять).

source = "github.com/terraform-aws-modules/terraform-aws-vpc.git?ref=v1.64.0"

name = "simple-example"

cidr = "10.0.0.0/16"

azs             = ["eu-west-1a", "eu-west-1b", "eu-west-1c"]
private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
public_subnets  = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]

assign_generated_ipv6_cidr_block = true
enable_nat_gateway = true
single_nat_gateway = true

public_subnet_tags = {
  Name = "overridden-name-public"
}

tags = {
  Owner       = "user"
  Environment = "dev"
}

vpc_tags = {
  Name = "vpc-name"
}

Когда я вставляю то же самое в файл .tf в выражении «module», это работает, terraform init извлекает модуль, а apply создает ресурсы. Но когда я просто помещаю его в файл .tfvars, как это предлагается в книге, он не извлекает модуль и не создает никаких ресурсов.

Интересно, если я неправильно понимаю пример из книги. Я нахожу идею иметь модули в одном месте и переменные в другом, очень элегантно, но я изо всех сил стараюсь заставить это работать.

    
0
  1. Можете ли вы показать полный код здесь?
    2019-05-02 18: 03: 38Z
  2. Я добавил полный код. Обратите внимание, что я могу неправильно понять книгу Terraform Up and Running. Читая конец главы 6, можно предположить, что файла .tfvars с источником компонента достаточно для предоставления ресурсов.
    2019-05-03 07: 18: 45Z
  3. То, что вы опубликовали, не является действительным кодом Terraform. Это должен быть модуль, из которого вы опускаете строку определения модуля сверху и закрывающую скобку?
    2019-05-03 07: 47: 34Z
  4. Предполагается, что это будет файл terraform.tfvars, а не файл .tf. Книга «Terraform Up and Running» показывает способ работы только с файлами .tfvars. В файле есть выражение source = "..." вверху, которое ссылается на модуль (еще одно git-репо). Формат для файлов .tfvars, а не обычный модуль. Если я окружу это утверждением модуля, это работает. Но я нашел вариант с опцией .tfvars и пытался заставить его работать. Если этого не произойдет, я просто вернусь к старым добрым модулям.
    2019-05-03 12: 51: 28Z
  5. В настоящее время он недействителен. Если вы изменяли буквально все определения модуля, то конечно, но на данный момент это в принципе бессмысленно.
    2019-05-03 13: 24: 30Z
0 ответов                              0                         
источник размещен Вот