首页 > 解决方案 > 如何使用 Keepers 导入 random_id

问题描述

我在其他地方应用了当前配置:

resource "random_id" "certificate" {
  byte_length = 3
  prefix      = "my-cert-prefix-"

  keepers = {
    "domains": "api.domain.com"
  }
}

..现在我需要导入到当前状态。

运行“show” cmd,我们可以看到如下内容:

resource "random_id" "certificate" {
    b64         = "my-cert-prefix-3YvH"
    b64_std     = "my-cert-prefix-3YvH"
    b64_url     = "my-cert-prefix-3YvH"
    byte_length = 3
    dec         = "my-cert-prefix-14519239"
    hex         = "my-cert-prefix-dd8bc7"
    id          = "3YvH"
    keepers     = {
        "domains" = "api.domain.com"
    }
    prefix      = "my-cert-prefix-"
}

文档说要导入运行类似的东西:

terraform import module.XXX.random_id.certificate "my-cert-prefix-,3YvH"

如何将“keepers”属性添加到当前状态?

(编辑:导入后添加当前计划)

# module.XXXX.google_compute_managed_ssl_certificate.service must be replaced
+/- resource "google_compute_managed_ssl_certificate" "service" {
      ~ certificate_id            = 5697321803048287000 -> (known after apply)
      ~ creation_timestamp        = "2020-09-22T11:35:18.396-07:00" -> (known after apply)
      ~ expire_time               = "2020-12-21T09:42:04.000-08:00" -> (known after apply)
      ~ id                        = "projects/XX/global/sslCertificates/XXXX-dd8bc7" -> (known after apply)
      ~ name                      = "my-cert-prefix-dd8bc7" -> (known after apply) # forces replacement
        project                   = "XXXX"
      ~ self_link                 = "https://www.googleapis.com/compute/v1/projects/XXX/global/sslCertificates/my-cert-prefix-dd8bc7" -> (known after apply)
      ~ subject_alternative_names = [
          - "api.domain.com",
          - "europe-west1-api.domain.com",
          - "us-east1-api.domain.com",
          - "us-west1-api.domain.com",
        ] -> (known after apply)
        type                      = "MANAGED"

        managed {
            domains = [
                "api.domain.com",
                "europe-west1-api.domain.com",
                "us-east1-api.domain.com",
                "us-west1-api.domain.com",
            ]
        }

      - timeouts {}
    }

# module.XXXX.random_id.certificate must be replaced
+/- resource "random_id" "certificate" {
      ~ b64         = "my-cert-prefix-3YvH" -> (known after apply)
      ~ b64_std     = "my-cert-prefix-3YvH" -> (known after apply)
      ~ b64_url     = "my-cert-prefix-3YvH" -> (known after apply)
        byte_length = 3
      ~ dec         = "my-cert-prefix-14519239" -> (known after apply)
      ~ hex         = "my-cert-prefix-dd8bc7" -> (known after apply)
      ~ id          = "3YvH" -> (known after apply)
      + keepers     = {
          + "domains" = "api.domain.com"
        } # forces replacement
        prefix      = "my-cert-prefix-"
    }

标签: terraforminfrastructure

解决方案


推荐阅读