【发布时间】:2022-01-27 20:15:25
【问题描述】:
这是官方页面:https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/secret_manager_secret
我创建了这些文件:
变量.tf
variable gcp_project {
type = string
}
main.tf
resource "google_secret_manager_secret" "my_password" {
provider = google-beta
secret_id = "my-password"
replication {
automatic = true
}
}
data "google_secret_manager_secret_version" "my_password_v1" {
provider = google-beta
project = var.gcp_project
secret = google_secret_manager_secret.my_password.secret_id
version = 1
}
输出.tf
output my_password_version {
value = data.google_secret_manager_secret_version.my_password_v1.version
}
应用时报错:
Error: Error retrieving available secret manager secret versions: googleapi: Error 404: Secret Version [projects/2381824501/secrets/my-password/versions/1] not found.
所以我通过 gcloud cli 创建了秘密:
echo -n "my_secret_password" | gcloud secrets create "my-password" \
--data-file - \
--replication-policy "automatic"
然后再次应用 terraform,上面写着Error: project: required field is not set。
如果使用 terraform 创建具有真实值的秘密,怎么办?
【问题讨论】:
-
var.gcp_project设置是否正确?它没有显示在您的问题中。 -
是的,这个变量无关紧要。
-
您是否在全局提供程序块中设置了项目?
-
@RyanSiu 是的,我做到了。
-
您正在使用数据源。您需要使用该资源。
标签: google-cloud-platform terraform google-secret-manager secret-manager