如何解决Terraform,提供者错过了模块上的继承
Terraform v0.14.8
当我尝试启动 terraform init 时遇到这个问题,提供程序 registry.terraform.io/hashicorp/aci 未找到
我想使用我的提供者:registry.terraform.io/ciscodevnet/aci
$ terraform 提供程序
配置所需的提供程序:
.
├── provider[registry.terraform.io/ciscodevnet/aci] 0.5.4
└── module.bride_domain_2001
└── provider[registry.terraform.io/hashicorp/aci]
我的问题:如何在模块上强制 registry.terraform.io/ciscodevnet/aci ?
我如何调用我的模块:
module "bride_domain_2001" {
source = "./modules/bride_domain_2001"
aci_vrf_vrf_training_id= aci_vrf.vrf_training.id
aci_tenant_tenant_training_id= aci_tenant.tenant_training.id
}
预期行为
内部提供程序应该从父级继承并使用
实际行为
Terraform 不使用父模块的继承
谢谢
解决方法
您的子模块 bride_domain_2001
似乎缺少 required_providers
条目以指定它依赖于 ciscodevnet/aci
,这导致 Terraform 的向后兼容性行为假设您的意思是 {{1} }.
要修复它,请向您的子模块添加 hashicorp/aci
条目:
required_providers
添加后,Terraform 将看到根模块和子模块都依赖于同一个提供者 terraform {
required_providers {
aci = {
source = "ciscodevnet/aci"
# (possibly also a >= version constraint)
}
}
}
,因此您的提供者 configuration 应该被属于子模块中的那个提供者。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。