我正试图从Terraform创建一个Cloud Build触发器,但我得到了"类型为";github";此处不应出现"错误
我的代码:
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "3.5.0"
}
}
}
provider "google" {
credentials = file("key-file.json")
project = var.project_id
}
resource "google_cloudbuild_trigger" "github-trigger" {
name = "github-trigger"
filename = "cloudbuild.yaml"
location = "europe-west1"
github {
owner = <owner>
name = <name>
push {
branch = <branch>
}
}
}
当我不包括github块和位置时,代码正在工作,触发器正在创建。
我的编码是UTF-8,我在VS代码中运行代码。
知道我为什么会犯这个错误吗?
由于您使用的是已有三年历史的提供程序版本,因此无法以这种方式工作。您可以更新到支持github
参数的较新版本,也可以确保使用的提供程序版本的语法正确。我的猜测是,最接近您想要的是使用trigger_template
块[1],您可以在其中定义类似的参数:
project_id
repo_name
dir
branch_name
tag_name
commit_sha
但是,我强烈建议更新到更新的提供程序版本。
[1]https://registry.terraform.io/providers/hashicorp/google/3.5.0/docs/resources/cloudbuild_trigger#trigger_template