通过Terraform显示连接到ec2实例的所有EBS卷

时间:2018-05-01 20:49:50

标签: terraform

我已将两个EBS卷附加到EC2实例。使用terraform,我想输出附加卷的ID。 1.我使用了数据源“aws_instance”,但它只显示了一个附加卷。 2.还尝试使用数据源“aws_ebs_volume”,但仍然只获得一个卷。

请建议。

代码:

*data "aws_instance" "foo" {
  instance_id = "i-kljo......b0e"
}*

*output "ebs_block_device" {
  value = "${data.aws_instance.foo.ebs_block_device}"
}*
-------------------------------------------------------
*data "aws_ebs_volume" "ebs_volume" {
  most_recent = true
  filter {
    name   = "tag:Name"
    values = ["Test_001"]
  }
}*

*output "ebs_all_volumnes" {
  value = ["${data.aws_ebs_volume.ebs_volume.id}"]
}*

1 个答案:

答案 0 :(得分:0)

数据源只能输出一个数据源,因此只能输出一个EBS卷/数据源。

根据Terraform Documentation

  

most_recent - (可选)如果返回多个结果,请使用最新的卷。

     

过滤器 - (可选)要过滤的一个或多个名称/值对。有几个有效的密钥,供完整参考,退房   AWS CLI参考中的describe-volumes。

您必须删除most_recent并使用过滤器。提供两个数据源