Terraform中的单个字符串中有多个输出

时间:2018-09-22 03:32:18

标签: terraform

Terraform提供了出色的文档来显示包括AWS在内的输出。

output "ip" {
  value = "${aws_eip.ip.public_ip}"
}

这将提供类似

的内容
ip = 50.17.232.209

如果可能的话,我想得到的是:

public_ip = x.x.x.x and private_ip = y.y.y.y
与单独的项目相反,在一行中

。我已经尝试过这样的事情:

output "public ip and private ip" {
  value = "${aws_eip.ip.public_ip}"
  value = "${aws_eip.ip.private_ip}"
}

当前,如果我将它们像这样拆分,它将起作用:

output "public_ip" {
  value = "${aws_eip.ip.public_ip}"
}

output "private_ip" {
  value = "${aws_eip.ip.private_ip}"
}    

谢谢

2 个答案:

答案 0 :(得分:0)

以下内容应该可以工作,尽管将它们拆分可能最有意义:

output "public ip and private ip" {
  value = "public_ip = ${aws_eip.ip.public_ip} and private_ip = ${aws_eip.ip.private_ip}"
}

也许您需要对其稍作调整以使其具有所需的格式,但是我希望我的回答至少表明与其他地方的字符串插值相比没有什么特别的。。

答案 1 :(得分:0)

Terraform v0.12.13 + provider.aws v2.43.0 + provider.null v2.1.2

您的Terraform版本已过时!最新版本 是0.12.18。您可以通过从www.terraform.io/downloads.html

下载进行更新

错误:输出名称无效

在output.tf第1行的

输出“ public and private”中:    1:输出“公共和私人” {

名称必须以字母开头,并且只能包含字母,数字, 下划线和破折号。