#terraform #terraform-provider-aws
#terraform #terraform-поставщик-aws
Вопрос:
Я использую terraform для создания сертификатов. Ищу информацию о том, как сбросить значения pem и cert в файл на диске с помощью terrafrom. вот выходная переменная. я хочу сбросить их в переменную. любой ссылочный фрагмент кода??
output "private_key" {
description = "The venafi private key"
value = venafi_certificate.this.private_key_pem
}
output "certificate_body" {
description = "The acm certificate body"
value = venafi_certificate.this.certificate
}
output "certificate_chain" {
description = "The acm certificate chain"
value = venafi_certificate.this.chain
}
'''
Ответ №1:
Одним из способов было бы использовать local_file. Например:
resource "local_file" "private_key" {
content = venafi_certificate.this.private_key_pem
filename = "private_key.pem"
}
Комментарии:
1. Попробую использовать этот ресурс «local_file». Приветствую Марчина!
2. @CharlesD Нет проблем. Рад, что смог помочь:-)
3. Проблема в том, что «local_file» — это файл, который исчезнет во время «terraform apply»
Ответ №2:
Это старый вопрос, но позвольте мне оставить свой ответ здесь, если кто-нибудь столкнется с такой же проблемой. Вы можете отправить все свои выходные данные в файл, подобный этому
terraform output > file.txt
где file.txt это файл, содержащий выходные данные
Комментарии:
1. что, если файл еще не создан? Будет ли эта команда автоматически создавать этот файл?
2. Да, это создаст его.
3. Это приведет к выводу всего содержимого «вывода terraform» в file.txt . В случае, если требуется один или несколько отдельных выходных данных, таких как тело сертификата или закрытый ключ, используйте блок ресурсов, как указано выше @Marcin
4. Это не работает с конфиденциальными выводами.
terraform output -raw myvariable
выводит единственную переменную, даже если она помечена как чувствительная.terraform output -json
выводит все переменные, даже если они помечены как чувствительные, в формате json.