我遇到这个问题,每次输入“terraform init”时都会收到此错误:
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/vmware: provider registry
│ registry.terraform.io does not have a provider named registry.terraform.io/hashicorp/vmware
│
│ All modules should specify their required_providers so that external consumers will get the correct providers when
│ using a module. To see which modules are currently depending on hashicorp/vmware, run the following command:
│ terraform providers
我想学习如何使用 Terraform,并尝试使用它在 Virtualbox 和 VMware Workstation 中创建虚拟机。不幸的是,我每次在控制台中都会收到此响应,无论是 Windows 还是 Linux。请帮助我,不幸的是,互联网上的研究没有告诉我任何关于如何解决这个问题的信息。
错误消息是正确的,没有名为
hashicorp/vmware
的提供商。
VMware Workstation 或 VirtualBox 都没有官方 Terraform 提供程序,但有一些社区维护的提供程序:
我没有使用过这些提供商,因此我无法保证他们的行为方式。如果您打算使用它们,我建议仔细检查它们,以确保它们满足您的需求并且不包含任何您认为有害的行为。
如果您确实想使用这些提供程序,那么您需要首先声明您的模块依赖于它们:
terraform {
required_providers {
virtualbox = {
source = "terra-farm/virtualbox"
version = "0.2.1"
}
vmworkstation = {
source = "elsudano/vmworkstation"
version = "1.0.4"
}
}
}
elsudano/vmworkstation
的资源类型具有名称前缀vmworkstation_
,而不是vmware_
,因此您需要使用带有该前缀的正确资源类型名称,以避免 Terraform 猜测您打算使用(不存在的) hashicorp/vmware
提供商。