当我尝试从S3获取Terraform模块时遇到了一个问题。我有一个模块api_module
,它从调用者那里接收几个输入变量(name, environment)
。我压缩了此模块代码并将其上传到S3,以便可以在任何需要的地方从S3采购它。
当我将此模块从S3导出到另一个程序中时,terraform不接受设置任何输入变量。如果我从git repo中获取模块,则同一程序将接受输入变量。
这是我正在谈论的示例代码:
source = "s3::http://s3.amazonaws.com/module_bucket/api_module.zip"
name = "api_name"
environment = "tst"
}
terraform在运行 plan 时返回错误,指出输入变量名称和环境不被接受。
如果我从git repo中获取模块,则相同的代码可以很好地工作:
module "my_module" {
source = "git::ssh://git@wwwin-github.com/api_module.git"
name = "api_name"
environment = "tst"
}
我需要一些如何将这些输入参数发送到从S3获取源代码的模块的帮助。
谢谢 -hyvrt
答案 0 :(得分:0)
我可以在另一个门户网站的帮助下解决这个问题。
我的s3归档文件有一个额外的层,这导致下载的模块在路径中具有一个额外的目录。我将归档文件固定为仅压缩文件而不压缩文件夹。现在我看不到从S3采购模块的任何问题。
谢谢