Terraform自定义提供程序-资源支持错误

时间:2018-12-13 13:00:04

标签: go terraform

我创建了一个自定义提供程序,以使用内部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

1 个答案:

答案 0 :(得分:-1)

我只是猜测!

检查资源文件的名称是否符合terraform命名约定 例如:resource_resource_name.go