小编Ste*_*ley的帖子

缺少 Terraform 提供程序?我究竟做错了什么?(地形 v0.13.5)

正如您在下面看到的,我尝试将特定的提供程序传递给模块,然后该模块将其作为主提供程序传递(aws = aws.some_profile)给第二个嵌套模块。

\n

我收到terraform plan以下错误:

\n

Error: missing provider module.module_a.provider["registry.terraform.io/hashicorp/aws"].some_profile

\n

我一定是犯了一些基本错误,或者假设该语言以一种它不工作的方式工作。有想法吗?

\n

文件结构:

\n
\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.tf\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 module_a\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.tf\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 module_b\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.tf\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 providers.tf\n
Run Code Online (Sandbox Code Playgroud)\n

main.tf(顶层):

\n
module "module_a" {\n    source = "./module_a"\n    providers = {\n        aws.some_profile = aws.some_profile\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

main.tf(在 module_a 内):

\n
module "module_b" {\n    source = "./module_b"\n    providers = {\n        aws = aws.some_profile\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

main.tf(模块 b 内部):

\n
resource "null_resource" "null" {}\n
Run Code Online (Sandbox Code Playgroud)\n

提供商.tf:

\n
terraform {\n  required_providers {\n …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-aws terraform0.12+

6
推荐指数
1
解决办法
2万
查看次数