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

如何使用Terraform从Openstack获取公钥并在本地保存?,openstack,terraform,terraform-provider-openstack,Openstack,Terraform,Terraform Provider Openstack,我正在尝试使用Terraform中的数据源Openstack\u compute\u keypair\u v2从Openstack获取公钥(稍后保存在本地机器上): data "openstack_compute_keypair_v2" "app_public_key" { name = "app-key" } ,但当我运行terraformapply时,什么都没有发生。(密钥存在,名称也正确。) 我假设(可能是错误的)我需要手动保存它们,所以我使用了local\u fileresou

我正在尝试使用Terraform中的数据源
Openstack\u compute\u keypair\u v2
从Openstack获取公钥(稍后保存在本地机器上):

data "openstack_compute_keypair_v2" "app_public_key" {
    name = "app-key"
}
,但当我运行
terraformapply
时,什么都没有发生。(密钥存在,名称也正确。)

我假设(可能是错误的)我需要手动保存它们,所以我使用了
local\u file
resource

resource "local_file" "app_cert" {
    content = "${openstack_compute_keypair_v2.app_public_key.public_key}"
    filename = "${path.module}/app.cert"
}
但我得到了:
错误:资源“local\u file.app\u cert”配置:未知资源“openstack\u compute\u keypair\u v2.app\u public\u key”在变量openstack\u compute\u keypair\u v2.app\u public\u key.public\u key中引用

根据法律,有这样的属性。我做错了什么

谢谢你的帮助

太近了。 第二位只是缺少数据。 因此,它应该是:

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