Go 将预先存在的数据列表导入Terraform

Go 将预先存在的数据列表导入Terraform,go,terraform,Go,Terraform,我已经为创建了一个API客户端库和Terraform提供程序。我在Terraform provider中使用它来自动提供Okta中的可信来源 我需要帮助了解如何将预先存在的可信来源导入Terraform状态文件,以获得预先存在的可信来源列表 假设Okta可信源由Okta\u可信源Terraform资源表示,我有一个名为host\u URL的URL列表 variable "host_urls" { description = "All the URLs for the Trusted O

我已经为创建了一个API客户端库和Terraform提供程序。我在Terraform provider中使用它来自动提供Okta中的可信来源

我需要帮助了解如何将预先存在的可信来源导入Terraform状态文件,以获得预先存在的可信来源列表


假设Okta可信源由
Okta\u可信源
Terraform资源表示,我有一个名为
host\u URL
的URL列表

variable "host_urls" {
    description = "All the URLs for the Trusted Origin hosts"
    type = "list"
    default = [
        "http://foo.com",
        "http://bar.com",
        "http://example.com"
    ]
}

resource "okta_trusted_origin" "host-urls" {
    count = "${length(var.host_urls)}"
    name = "${element(var.host_urls, count.index)}"
    origin = "${element(var.host_Urls, count.index)}"
    scopes = ["CORS", "REDIRECT"]
}
上面的“元参数”
count
定义了要创建多少个资源副本。每个资源都是基于
host\u URL
变量中定义的可信来源创建的。在这种情况下,将创建三个地形资源:主机URL[0]、主机URL[1]和主机URL[2]

在这些条件下,我遇到的问题是资源名称。Terraform基于资源名称导入资源,这使得如果资源是由其预先存在的数据源中的ID标识的,那么就很难实现。在Okta中,每个可信来源都通过其名称、来源或ID进行唯一标识,但Okta的API仅允许基于ID的GET操作。换句话说,无法通过名称或来源字段获取可信来源


以下是我想做的:

terraform import okta_trusted_origin.<origin-url>
terraform导入okta\u可信来源。
其中,
是Okta中预先存在的可信来源的URL



实现我想要做的事情的最佳方式是什么?Terraform的文档并没有引导我走上任何有希望的道路。非常感谢您的帮助

你能显示计划输出吗?我认为您误解了导入机制,但可能是okta提供商做了一些奇怪的事情