【问题标题】:Displaying All EBS volumes attached to an ec2 instance via Terraform显示通过 Terraform 附加到 ec2 实例的所有 EBS 卷
【发布时间】:2018-05-02 15:18:06
【问题描述】:

我已将两个 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}"]
}*

【问题讨论】:

    标签: terraform


    【解决方案1】:

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

    根据Terraform Documentation

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

    filter - (可选)要过滤掉的一个或多个名称/值对。有几个有效的键,完整的参考,检查 AWS CLI 参考中的 describe-volumes。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 2021-11-26
      • 2018-07-28
      • 2019-01-23
      • 1970-01-01
      • 2017-12-05
      相关资源
      最近更新 更多