【问题标题】:This value does not have any attributes error while trying to use COS HMAC credentials in Terraform?尝试在 Terraform 中使用 COS HMAC 凭据时,此值没有任何属性错误?
【发布时间】:2021-02-18 20:53:18
【问题描述】:

我正在尝试在 Terraform 中为 Cloud Object Storage/S3 使用 HMAC 凭据,但看到此错误。

Error: Unsupported attribute

  on main.tf line 56, in resource "ibm_cos_bucket" "sink_bucket":
  56:       ACCESS_KEY               = ibm_resource_key.cos_key.credentials.cos_hmac_keys.access_key_id

This value does not have any attributes.


Error: Unsupported attribute

  on main.tf line 57, in resource "ibm_cos_bucket" "sink_bucket":
  57:       SECRET_ACCESS_KEY        = ibm_resource_key.cos_key.credentials.cos_hmac_keys.secret_access_key

This value does not have any attributes.

我在创建 cos_key 时通过设置 HMAC=true 生成了 COS HMAC 凭据

resource ibm_resource_key cos_key {
  name                 = "${var.basename}-cos-key"
  resource_instance_id = ibm_resource_instance.cos.id
  role                 = "Writer"

  parameters = {
    service-endpoints = "private"
    HMAC = true
  }
}

当我检查 terraform.tstate 文件时,我看到的凭据如下

"cos_key": {
      "value": {
        "credentials": {
          "apikey": "muydB9TyqWr9_aCmFlSRSu-JG3J3PPzXcxxxxxxx",
          "cos_hmac_keys.access_key_id": "e0892b46cfe1411cxxxxxx0",
          "cos_hmac_keys.secret_access_key": "8520aca8680e3e930f74a8869xxxxxx8a27a6",
          ...
          }
        }
      }

【问题讨论】:

    标签: amazon-s3 terraform ibm-cloud cloud-object-storage terraform-provider-ibm


    【解决方案1】:

    这对我有用

    provisioner "local-exec" {
        command = "echo 'Credentials for MINIO client...'"
        environment = {
          ACCESS_KEY               = ibm_resource_key.cos_key.credentials["cos_hmac_keys.access_key_id"]
          SECRET_ACCESS_KEY        = ibm_resource_key.cos_key.credentials["cos_hmac_keys.secret_access_key"]
          COS_REGION               = var.region
          COS_BUCKET_NAME          = ibm_cos_bucket.sink_bucket.bucket_name
        }
      }
    

    这里的问题是自定义 json 属性,其中包括点 (.),如 cos_hmac_keys.access_key_id。在您使用以下符号之前,Terraform 会引发错误

    credentials["cos_hmac_keys.access_key_id"]
    

    【讨论】:

      猜你喜欢
      • 2021-02-06
      • 2021-02-10
      • 2017-08-13
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 2013-04-21
      • 2023-03-09
      相关资源
      最近更新 更多