错误在下面:
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)
P.S。 我对这些属性的引用基于https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts.keys
答案 0 :(得分:2)
为了社区的利益,我将张贴@John的答复作为答案。
父母失踪了,需要一个现有的service account:
projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}
其中ACCOUNT值可以是电子邮件或服务帐户的唯一ID。
关于模板,请删除包含privateKeyType和keyAlgoritm的枚举。
以上部署为现有服务帐户创建了服务帐户凭据,并且为了检索此可下载的json密钥文件,可以使用outputs使用publicKeyData属性公开该文件,然后对其进行base64解码。