Блок
A module предназначен для загрузки модулей Terraform и их вспомогательных ресурсов в ваш модуль по определенному пути модуля. Его нельзя использовать так, как вы намереваетесь.
Вызов модуля означает включение содержимого этого модуля в конфигурацию с указанием значений c для его входных переменных. Модули вызываются из других модулей с использованием блоков модулей:
module "servers" {
source = "./app-cluster"
servers = 5
}
Источник: Вызов дочернего модуля - Модули - Язык конфигурации - Документы Terraform
Это что-то вроде импорта, запроса или включения на других языках. Его нельзя использовать для загрузки файла для использования в модуле Terraform.
Вы можете использовать источник данных http , чтобы делать то, что вы опишите:
data "http" "git_file" {
url = "https://githubXX.com/abc.js"
}
data "archive_file" “init” {
type = "zip"
git_file = data.http.git_file.body
}
Это также вряд ли сработает, как вы ожидаете. Для этого вам определенно понадобится ссылка на исходный код GitHub.
Вы должны рассмотреть альтернативное решение, предусматривающее использование ab c. js в том же хранилище или использование null_resource с local_exe c инициатора , чтобы загрузить его с помощью скрипта.
resource "null_resource" "" {
provisioner "local-exec" {
command = "git clone https://github.com/..."
}
}
Тогда вы будете иметь локальные файлы для использования так же, как если бы вы git клонировали в своей собственной оболочке. Я не рекомендую это. Он хрупкий и, вероятно, странно взаимодействует с другими инструментами.