【发布时间】:2021-08-11 12:09:13
【问题描述】:
我正在尝试使用 terraform 创建 GCP 函数。使用 gcloud SDK 默认登录进行身份验证。
创建函数的代码:
resource "google_cloudfunctions_function" "test"{
name = "python-app-function"
project = var.projNumber
region = "europe-central2"
runtime = "python39"
trigger_http = true
source_archive_bucket = google_storage_bucket.bucket_for_python_application.name
source_archive_object = google_storage_bucket.bucket_for_python_application.name
}
我知道source_archive_bucket = google_storage_bucket.bucket_for_python_application.name && source_archive_object = google_storage_bucket.bucket_for_python_application.name 不对。
因为我使用 SDK 自动登录进行身份验证,所以我给了自己所有可能的角色:
但Owner 角色已经拥有此权限:
我被困住了。
【问题讨论】:
-
您确定在运行
terraform时通过了正确的用户身份验证吗?你完成了gcloud auth application-default login(registry.terraform.io/providers/hashicorp/google/latest/docs/…) 吗? -
是的,我完全使用
gcloud auth application-default login通过SDK登录。 -
您是否可以创建其他资源,例如存储桶?所有者角色足以创建存储桶。
-
抱歉,我指的是项目 ID,而不是名称。奇怪的是你对其他资源没有问题。您是否在其他资源中指定了
project?或者,也许您已经在provider块中设置了它? -
这确实有效。非常感谢!
标签: google-cloud-platform terraform terraform-provider-gcp