Terraform在初始化期间将资源列为提供程序
创建自定义提供程序时,我无法初始化我的资源 我的提供者称为Terraform在初始化期间将资源列为提供程序,terraform,Terraform,创建自定义提供程序时,我无法初始化我的资源 我的提供者称为shell。它有一个名为environment的资源。我已将提供程序编译成二进制文件。但是,当我在其上运行terraforminit时,它会抛出一个错误,即未找到提供程序environment: Provider "environment" not available for installation. A provider named "environment" could not be found in the official
shell
。它有一个名为environment
的资源。我已将提供程序编译成二进制文件。但是,当我在其上运行terraforminit
时,它会抛出一个错误,即未找到提供程序environment
:
Provider "environment" not available for installation.
A provider named "environment" could not be found in the official
repository.
为什么它将资源视为提供者
terraform提供者的输出也将资源列为提供者
$ terraform providers
.
├── provider.environment
└── provider.shell
编辑:
添加如何调用资源
provider "shell" {
...
}
resource "environment" "env" {
...
}
在Terraform中,所有资源都以其提供者名称和下划线作为前缀
EC2实例资源是aws_实例
,而Azure实例是azurerm_虚拟机等
因此,如果您想在Terraform中调用资源
shell\u环境
,则所有资源都以其提供者名称和下划线作为前缀
EC2实例资源是aws_实例,而Azure实例是azurerm_虚拟机等
因此,在您的情况下,您想调用您的资源
shell\u环境
您可以编辑您的问题以显示包含资源定义的地形代码吗?您可以编辑您的问题以显示包含资源定义的地形代码吗?这是有原因的吗?它有效地将资源命名为明智的做法。因此,如果您有两个具有实例
资源的提供程序,那么它们可以与foo\u实例
和bar\u实例
同时使用。这有什么原因吗?它有效地以合理的方式对资源进行命名。因此,如果您有两个具有实例
资源的提供程序,那么它们可以与foo\u实例
和bar\u实例
同时使用。