So I am working with Terraform and I feel like there must be a faster or, at the very least, a prettier way to perform the operation I'm attempting.
For some boilerplate, I have a data block that looks like the following:
data "aws_subnet_ids" "lambda_subnet_ids" {
count = length(var.lambda_subnet_tags)
vpc_id = ...
}
From the results of this data block, I want to retrieve the first value from each set and combine it into another list. Here's how my team approached it before me. I wrapped it in a locals
block to made it easier to see the use-case:
locals {
lambda_subnet_ids = flatten(
[
for subnets in data.aws_subnet_ids.lambda_subnet_ids :
[
element(tolist(subnets.ids), 1)
]
]
)
}
Now, this works. It just looks awful. I feel like there has to be a nicer way to perform this same operation, but I am not familiar with HCL well enough to know what to look for.
Side note, this really should have the tags HCL
and Terraform
, but I do not have the reputation required to create them.