Google cloud platform 如何通过Terraform在Google Cloud secret Manager中创建秘密?
这是官方网页: 我创建了以下文件: 变量.tfGoogle cloud platform 如何通过Terraform在Google Cloud secret Manager中创建秘密?,google-cloud-platform,terraform,google-secret-manager,secret-manager,Google Cloud Platform,Terraform,Google Secret Manager,Secret Manager,这是官方网页: 我创建了以下文件: 变量.tf variable gcp_project { type = string } main.tf resource "google_secret_manager_secret" "my_password" { provider = google-beta secret_id = "my-password" replication { automatic = tru
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,它说错误:项目:必填字段未设置
如果使用TrRAFrm创建一个具有实际值的秘密,该怎么办?
< p>我发现下面的文章我认为在上有用。 你必须:versions.tf
的文件,用于定义版本约束main.tf的文件并配置Google provider节:
resource "google_secret_manager_secret" "my-secret" {
provider = google-beta
secret_id = "my-secret"
replication {
automatic = true
}
depends_on = [google_project_service.secretmanager]
}
您是否正确设置了变量gcp\U项目?您的问题中没有显示它是什么。是的,这个变量不重要。您是否在全局提供程序块中设置了项目?@RyanSiu是的,我设置了。您使用的是数据源。您需要使用该资源。使用此方法如何从其他模块的输出中导出其值?请仔细阅读Seth Vargo文章的安全说明。