2

错误如下:

ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1544517871651-57cbb1716c8b8-4fa66ff2-9980028f]: errors:
- code: MISSING_REQUIRED_FIELD
  location: /deployments/infrastructure/resources/projects/resources-practice/serviceAccounts/storage-buckets-backend/keys/json->$.properties->$.parent
  message: |-
    Missing required field 'parent' with schema:
    {
      "type" : "string"
    }

以下是我的 jinja 模板内容:

resource:
- name: {{ name }}-keys
    type: iam.v1.serviceAccounts.key
    properties:
      name: projects/{{ properties["projectID"] }}/serviceAccounts/{{ serviceAccount["name"] }}/keys/json
      privateKeyType: enum(TYPE_GOOGLE_CREDENTIALS_FILE)
      keyAlgorithm: enum(KEY_ALG_RSA_2048)

PS 我对属性的参考基于https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts.keys

4

1 回答 1

2

为了社区的利益,我将发布@John 的回复作为答案。

父母失踪了,需要一个现有的服务帐户

projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}

其中 ACCOUNT 值可以是电子邮件或服务帐户的唯一 ID。

关于模板,请删除包装 privateKeyType 和 keyAlgoritm 的枚举。

上述部署为现有服务帐户创建了服务帐户凭据,为了检索此可下载的 json 密钥文件,可以使用 publicKeyData 属性使用输出公开它,然后对其进行 base64 解码。

于 2018-12-11T16:17:09.983 回答