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

时间:2019-01-09 22:47:56

标签: openstack terraform terraform-provider-openstack

我正在尝试使用Terraform中的数据源openstack_compute_keypair_v2从Openstack获取一个公钥(以后将其保存在本地计算机上):

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,有这样的属性。我究竟做错了什么?

感谢帮助!

1 个答案:

答案 0 :(得分:1)

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

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