如何使用 Terraform 从 Openstack 获取 public 密钥并保存在本地?

How to obtain public key from Openstack using Terraform and save it locally?

我正在尝试使用 Terraform 中的数据源 openstack_compute_keypair_v2 从 Openstack 获取 public 密钥(稍后将其保存在本地机器上):

data "openstack_compute_keypair_v2" "app_public_key" {
    name = "app-key"
}

,但是当我运行 terraform apply 什么都没有发生。 (密钥存在,名称也正确。)

我假设(可能是错误的)我需要手动保存它们,所以我使用了 local_file 资源。

resource "local_file" "app_cert" {
    content = "${openstack_compute_keypair_v2.app_public_key.public_key}"
    filename = "${path.module}/app.cert"
}

但我得到: Error: resource 'local_file.app_cert' config: unknown resource 'openstack_compute_keypair_v2.app_public_key' referenced in variable openstack_compute_keypair_v2.app_public_key.public_key

根据documentation有这样的属性。我究竟做错了什么?

感谢帮助!

那么近。 第二位只是缺少数据。 所以应该是:

resource "local_file" "app_cert" {
    content = "${data.openstack_compute_keypair_v2.app_public_key.public_key}"
    filename = "${path.module}/app.cert"
}