如何使用 terraform 在 GCP 中启用阻止项目范围的 SSH 密钥

How to Enable Block project-wide SSH keys in GCP using terraform

我正在尝试创建启用 SSH_KEYS 的 GCP 虚拟机,即必须使用 terraform 选择块项目范围的 ssh 密钥,但无法创建虚拟机。出现语法错误。我使用的是最新的 Terraform 版本 15。

resource "google_compute_project_metadata" "ssh_keys" {
#sample ssh key
metadata = {
  "ssh-keys" = "user1:ssh-rsa 2g131231hxxxxxbhbh3b21hbasdsad3 abc@2213213"
}
}

resource "google_compute_instance" "sshEnable" {
name         = "sshEnable"
machine_type = "e2-xxxx"
zone         = "xxxx"
desired_status = "RUNNING"

tags = ["tag1", "value1"]

boot_disk {
 initialize_params {
  image = "debian-cloud/debian-xx"
 }
}

network_interface {
network = "default"

access_config {
  // Ephemeral IP
 }
}

shielded_instance_config {
 enable_secure_boot = true
 enable_integrity_monitoring = true
 enable_vtpm = true
 }

##Getting error below
metadata {
block-project-ssh-keys = true
} 
}

我已将这段代码写在一个 main.tf 文件中。有什么建议吗?

“元数据”参数应声明为 key/value 对映射(而不是块)。

我已经成功 运行 通过此更改(+ 应为小写的实例名称)成功地完成了您的确切代码:

metadata = {
  block-project-ssh-keys = true
}

已使用 Terraform v1.0.0 和 hashicorp/google v3.76.0

进行测试

参考文档:https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_instance