如何使用Terraform从Openstack获取公钥并在本地保存?
我正在尝试使用Terraform中的数据源如何使用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
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"
}