Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform在初始化期间将资源列为提供程序_Terraform - Fatal编程技术网

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实例
同时使用。