在创建自定义提供程序时,我无法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" {
...
}
答案 0 :(得分:2)
在Terraform中,所有资源均以其提供者名称和下划线作为前缀。
EC2实例资源为aws_instance
,而Azure实例为azurerm_virtual_machine
等。
因此,在您的情况下,您想调用资源shell_environment
。