首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Terraform管理GCE中的ssh-键。

使用Terraform管理GCE中的ssh-键。
EN

DevOps用户
提问于 2019-11-15 08:57:19
回答 1查看 1.2K关注 0票数 0

我使用Terrafrom并通过更改VM元数据来管理对GCE中VM的访问。

在我将它放入字符串之前,它并不好,所以我尝试将它们放到变量中并使用它。但我遇到了问题。这是我的密码:

代码语言:javascript
复制
variable "ssh_keys" {
  type = "list"
  default = [
    {
      user = "atolkachev",
      key = "ssh-rsa my_key atolkachev"
    },
  ]
}

resource "google_compute_instance" "instance" {
  zone = "${var.region}-${var.zone}"
  project = "${var.project_name}"
  metadata = {
    ssh-keys = join("\n", [for user, key in var.ssh_keys : "${user}:${key}"])
  }

当我执行它时,我会得到错误:

代码语言:javascript
复制
Error: Invalid template interpolation value

  on main.tf line 24, in resource "google_compute_instance" "instance":
  24:     ssh-keys = join("\n", [for user, key in var.ssh_keys : "${user}:${key}"])

我试图找到解决办法,但失败了。

EN

回答 1

DevOps用户

回答已采纳

发布于 2019-11-16 16:13:42

对于variable使用错误类型,应该是:

代码语言:javascript
复制
variable "ssh_keys" {
  type = "map"
  default = {
    "atolkachev" = "ssh-rsa my_key atolkachev"
  }
}
票数 1
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/9815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档