Terraform v0.14.8
当我尝试启动terraform init时遇到了这个问题,提供程序注册表。terraform.io/hashicorp/aci未找到
我想使用我的提供商:registry.terraform.io/iscodevnet/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的向后兼容性行为假设您指的是hashicorp/aci
。
要修复它,请将required_providers
条目添加到您的子模块:
terraform {
required_providers {
aci = {
source = "ciscodevnet/aci"
# (possibly also a >= version constraint)
}
}
}
添加此项后,Terraform将看到根模块和子模块都依赖于同一个提供程序ciscodevnet/aci
,因此您对该提供程序的配置应该由子模块中属于该提供方的资源继承。