Я создал клиентскую библиотеку API и поставщика Terraform для API управления Okta .Я использую API управления доверенными источниками Okta в провайдере Terraform для автоматизации предоставления надежных источников в Okta.
Мне нужна помощь, чтобы понять, как импортировать уже существующие доверенные источники в состояние Terraform.файл для списка ранее существовавших Trusted Origins.
Скажем, что Okta Trusted Origins представлены ресурсом Terraform okta_trusted_origin
, и у меня есть список URL-адресов с именем host_urls
.
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_urls
.В этом случае будут созданы три ресурса Terraform: host-urls [0], host-urls [1] и host-urls [2].
У меня проблема с именем ресурса в этих условиях.Terraform импортирует ресурсы на основе имени ресурса, и это затрудняет, если ресурс идентифицируется по идентификатору в источнике данных, где он уже существует.Каждое доверенное происхождение уникально идентифицируется в Okta по имени, происхождению или идентификатору, но API-интерфейс Okta разрешает операции GET только на основе идентификатора.Другими словами, нет способа получить доверенное происхождение по полям имени или источника.
Вот что я хотел бы сделать:
terraform import okta_trusted_origin.<origin-url>
где <origin-url>
это URL ранее существовавшего Trusted Origin в Okta.
Каков наилучший способ достичь того, что я пытаюсь сделать?Документация Terraform не ведет меня к каким-либо перспективным путям.Ваша помощь будет высоко ценится!