Как получить открытый ключ из Openstack с помощью Terraform и сохранить его локально?

Я пытаюсь получить открытый ключ из Openstack (чтобы позже сохранить его на локальном компьютере), используя источник данных openstack_compute_keypair_v2 в Terraform:

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

Согласно документации, такой атрибут существует. Что я делаю неправильно?

Спасибо за помощь!


person Karolina Olszewska    schedule 09.01.2019    source источник


Ответы (1)


Так близко. Во втором бите просто отсутствуют данные. Так и должно быть:

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