简体   繁体   English

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

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

I'm trying to obtain a public key from Openstack (to later save it on local machine) using data source openstack_compute_keypair_v2 in Terraform:我正在尝试使用 Terraform 中的数据源openstack_compute_keypair_v2从 Openstack 获取公钥(稍后将其保存在本地机器上):

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

, but when I run terraform apply nothing happens. ,但是当我运行terraform apply什么也没有发生。 (The key exists and the name is also correct.) (密钥存在,名称也正确。)

I assumed (maybe wrong) that I need to save them manually so I used local_file resource.我假设(可能是错误的)我需要手动保存它们,所以我使用了local_file资源。

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

But I am getting: 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但我得到: 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

According to the documentation there is such attribute.根据文档,有这样的属性。 What am I doing wrong?我究竟做错了什么?

Thanks for help!感谢帮助!

So near.这么近。 That second bit is just missing data.第二位只是缺少数据。 So it should be:所以应该是:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 Terraform 在 Openstack 实例上添加非根 ssh 密钥? - How to add a non-root ssh-key on Openstack instance using Terraform? 如何使用Terraform为OpenStack启用实例终止保护? - How to enable instance termination protection for OpenStack using terraform? 如何以编程方式从python获取openstack资源使用指标? - How to programmatically obtain openstack resource usage metrics from python? 无法从Terraform启动Openstack实例 - Not able to launch the Openstack instance from Terraform 如何在Openstack上使用Terraform创建具有多个NIC的VM - How to create a VM with multiple NICs with Terraform on Openstack 使用Terraform将OpenStack安全组添加到不受Terraform管理的实例 - Using Terraform to add OpenStack Security Group to instance not managed by Terraform 如何使用Jclouds从OpenStack Swift获取多部分对象 - How to get a multi part object from openstack swift using jclouds 如何使用 python 中的连接从快照 openstack 创建卷? - How to create a volume from snapshot openstack using connection in python? 在OpenStack中使用jclouds传递ssh密钥 - Pass ssh key using jclouds in openstack 如何使用 Horizo​​n 或 Openstack 客户端获取 openstack 版本? - How to get openstack version using Horizon or Openstack client?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM