vim script.sh
(в обратных кавычках Curl запрос с отфильтрованным fingerptint-ом ключа)
#!/bin/bash
echo "{
\"fingerprint\": `curl -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <key>' 'https://api.digitalocean.com/v2/account/keys?page=1&per_page=999'|jq '.ssh_keys[] | select(.name=="REBRAIN.SSH.PUB.KEY") | .fingerprint'`
}"
(функция lookup извлекает значение указанного ключа из набора)
data "external" "key_conv" {
program = ["bash", "${path.root}/key_convert"]
}
resource "digitalocean_droplet" "ubuntu01" {
***
ssh_keys = [
"${lookup(data.external.key_conv.result, "fingerprint", "what?")}"
]
}
Выгрузка значения fingerprint конкретного ключа по его name:
curl -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <key>' 'https://api.digitalocean.com/v2/account/keys?page=1&per_page=999'|jq '.ssh_keys[] | select(.name=="REBRAIN.SSH.PUB.KEY") | .fingerprint'
Выгрузка значений name всех ключей:
curl -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <key>' 'https://api.digitalocean.com/v2/account/keys?page=1&per_page=999'|jq '.ssh_keys[] | .name'