为什么当我使用命令“Terraform init”时无法在 Terraform 中初始化我的代码?

问题描述 投票:0回答:1

我遇到这个问题,每次输入“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。请帮助我,不幸的是,互联网上的研究没有告诉我任何关于如何解决这个问题的信息。

terraform devops virtualbox vmware init
1个回答
0
投票

错误消息是正确的,没有名为

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
提供商。

© www.soinside.com 2019 - 2024. All rights reserved.