terraform - Terraform 在初始化期间将资源列为提供者
问题描述
在创建自定义提供程序时,我无法使用init
我的资源。
我的提供者被称为shell
. 它有一个名为environment
. 我已将我的提供程序编译成二进制文件。但是当我在它上面运行terraform init
时,它会抛出一个environment
找不到提供程序的错误:
Provider "environment" not available for installation.
A provider named "environment" could not be found in the official
repository.
为什么将资源视为提供者?
的输出terraform providers
还将资源列为提供者。
$ terraform providers
.
├── provider.environment
└── provider.shell
编辑:
添加资源的调用方式。
provider "shell" {
...
}
resource "environment" "env" {
...
}
解决方案
在 Terraform 中,所有资源都以其提供者名称和下划线为前缀。
EC2 实例资源是aws_instance
,而 Azure 实例是azurerm_virtual_machine
等。
因此,在您的情况下,您想调用您的资源shell_environment
。
推荐阅读
- python - tkinter optionmenu 似乎无法与网格一起正常工作
- javascript - 表达 this 在函数之间返回 null
- javascript - 如何使父文档的 iframe 全屏显示(如 youtube)
- go - 编译完成,退出代码 2
- tensorflow - 运行 Keras 代码时未使用 GPU
- android - AppBarLayout 背景圆角
- sql - Google 查询语言中的转义序列是什么?
- java - 正则表达式测试器找到所有 4 个匹配项,而 Java 代码仅找到 3 个匹配项
- json - 如何使用 json 模式验证个人电子邮件
- r - R - 字符串中元素的正则表达式匹配