我创建了一个自定义提供程序,以使用内部API来根据我们的标准为资源生成批准的名称。我用Go编写了它,但是当我对其进行测试时,却收到一条错误消息:
错误:有意义的资源名称。服务器名称:提供程序不支持资源:有意义的资源名称
这是我正在使用的测试tf文件:
resource "meaningful_resource_name" "server_name" {
<... parameters ...>
}
output "server_name" {
value = "${meaningful_resource_name.server_name.name}"
}
这是provider.go文件:
package meaningful
import (
"github.com/hashicorp/terraform/helper/schema"
"github.com/hashicorp/terraform/terraform"
)
func Provider() terraform.ResourceProvider {
return &schema.Provider{
Schema: map[string]*schema.Schema{},
ResourcesMap: map[string]*schema.Resource{
"meaningful_resource_name": meaningfulName(),
},
DataSourcesMap: map[string]*schema.Resource{},
}
}
我已经使用相同的结构创建了提供程序,但是我不明白为什么它无法识别它。有任何线索吗?
我正在使用Go v1.10.4和Terraform v0.11.10
答案 0 :(得分:-1)
我只是猜测!
检查资源文件的名称是否符合terraform命名约定 例如:resource_resource_name.go