# maps
resource "aws_instance" "foo" {
    for_each = {
        a = "thing"
        b = "another thing"
        c = "yet another thing"
    }
    num = "3"
}

# sets
resource "aws_instance" "bar" {
    for_each = toset([])
}
resource "aws_instance" "bar2" {
    for_each = toset(["z", "y", "x"])
}

# an empty map should generate no resource
resource "aws_instance" "baz" {
    for_each = {}
}

# references
resource "aws_instance" "boo" {
    foo = aws_instance.foo["a"].num
}

resource "aws_instance" "bat" {
    for_each = {
        my_key = aws_instance.boo.foo
    }
    foo = each.value
}

