How to get the most recent ebs snapshot using terraform datasource?

686 views Asked by At

I am trying to get the most recent created snapshot using terraform, don't know how to do it, according to terraform's document, for aws ami, it can be done by:

data "aws_ami" "web" {
  filter {
    name = "state"
    values = ["available"]
  }
  filter {
    name = "tag:Component"
    values = ["web"]
  }
  most_recent = true
}

I am expecting similar things for ebs snapshot like:

data "aws_ebs_snapshot" "latest_snapshot" {
  filter {
    name = "state"
    values = ["available"]
  }
  most_recent = true
}

But there is no "most_recent" argument at the reference page for data -> "aws_ebs_snapshot" here, so how can I get the most recent created snapshot using terraform? and why cannot we use the similar syntax as what aws_ami has?

1

There are 1 answers

0
minamijoyo On BEST ANSWER

Currently not available in the latest release of Terraform v0.8.2, but this feature has been merged into the latest master of Terraform just a few days ago.

https://github.com/hashicorp/terraform/pull/10986

It is also listed in CHANGELOG of the next release v0.8.3, so it will be available soon.