Я выполняю модуль GCP для создания учетной записи службы.
main.tf:
resource "google_service_account" "gsvc_account" {
account_id = "xxx"
display_name = ""
project = "proj-yyy"
}
output "account_id" {
value = "${google_service_account.gsvc_account.account_id}"
}
После создания учетной записи создается файл terraform.tfstate
, содержащий все данные учетной записи.
terraform.tfstate
{
"version": 4,
"terraform_version": "0.12.0",
"serial": 3,
"lineage": "aaaa-bbbb-cccc",
"outputs": {
"xxx": {
"value": "xxx",
"type": "string"
}
},
"resources": [
{
"module": "module.gsvc_tf",
"mode": "managed",
"type": "google_service_account",
"name": "gsvc_account",
"provider": "provider.google",
"instances": [
{
"schema_version": 0,
"attributes": {
"account_id": "xxx",
"display_name": "",
"email": "xxx@yyy.com",
"id": "projects/proj-yyy/serviceAccounts/xxx@yyy.com",
"name": "projects/proj-yyy/serviceAccounts/xxx@yyy.com",
"policy_data": null,
"project": "proj-xxx",
"unique_id": "10891885"
}
}
]
}
]
}
Как вы можете видеть выше, в модуле я выводю входную переменную account_id
. Есть ли способ вывести attributes
, а именно. id
, name
и т. Д., Чтобы к ним мог получить доступ другой модуль? attributes
вычисляются после создания ресурса.