Terraform,提供者错过了模块上的继承
Terraform, providers miss inherits on module
Terraform v0.14.8
当我尝试启动 terraform init 时遇到这个问题,找不到提供程序 registry.terraform。io/hashicorp/aci
我想使用我的供应商:registry.terraform.io/ciscodevnet/aci
$ 地形提供者
配置所需的提供商:
.
├── 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
,所以你的 configuration 提供者应该被资源继承属于子模块中的那个提供者。
Terraform v0.14.8
当我尝试启动 terraform init 时遇到这个问题,找不到提供程序 registry.terraform。io/hashicorp/aci
我想使用我的供应商:registry.terraform.io/ciscodevnet/aci
$ 地形提供者
配置所需的提供商:
.
├── 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
,所以你的 configuration 提供者应该被资源继承属于子模块中的那个提供者。