Можно ли в зависимости от параметра terraform указать путь к файлу? - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь сломать мой main.tf файл. Итак, я установил aws config через terraform, создал регистратор конфигурации и установил канал доставки на контейнер s3, созданный в том же файле main.tf. Теперь для правил конфигурации AWS я создал отдельный файл viz config-rule.tf . Как известно, у каждого создаваемого нами aws_config_config_rule есть предложение disabled_on , в котором мы вызываем зависимый ресурс, который в этом случае равен aws_config_configuration_recorder . Поэтому мой вопрос заключается в том, могу ли я интерполировать предложение depen_on к чему-то вроде:

    resource "aws_config_config_rule" "s3_bucket_server_side_encryption_enabled" {
    name = "s3_bucket_server_side_encryption_enabled"

    source {
    owner             = "AWS"
    source_identifier = "S3_BUCKET_SERVER_SIDE_ENCRYPTION_ENABLED"
    }

    depends_on = ["${file("aws-config-setup.tf")}"]
    }

Учитывая, что я перенес настройки конфигурации aws из моего файла main.tf в новый файл с именем aws - config-setup.tf .

1 Ответ

0 голосов
/ 14 февраля 2020

Если я правильно читаю ваш вопрос, вам не нужно вносить какие-либо изменения, чтобы это работало, при условии, что вы не переместили код в собственный модуль (отдельный каталог).

Когда terraform выполняется в определенном каталоге, он принимает во внимание все файлы, в основном обрабатывая их все как один файл terraform.

Итак, в общем, если у вас есть main.tf, который выглядит следующим образом

resource "some_resource" "resource_1" {
  # ...
}

resource "some_resource" "resource_2" {
  # ...

  depends_on = [some_resource.resource_1]
}

и вы решили разбить их на следующие файлы

file1.tf

resource "some_resource" "resource_1" {
  # ...
}

file2.tf

resource "some_resource" "resource_2" {
  # ...

  depends_on = [some_resource.resource_1]
}

, если terraform запущен в том же каталоге, он оценит сценарий main.tf точно так же, как сценарий с несколькими файлами.

...