# Copyright IBM Corp. 2021, 2026 # SPDX-License-Identifier: MPL-2.0 data "aws_availability_zones" "azs" {} data "aws_ami" "ubuntu" { most_recent = true filter { name = "name" values = ["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"] } filter { name = "virtualization-type" values = ["hvm"] } owners = ["099720109477"] # Canonical } resource "aws_vpc" "vpc" { cidr_block = "10.0.0.0/16" } resource "aws_subnet" "subnet" { vpc_id = aws_vpc.vpc.id cidr_block = aws_vpc.vpc.cidr_block availability_zone = data.aws_availability_zones.azs.names[0] } resource "aws_instance" "instances" { count = length(local.instance_tags) ami = data.aws_ami.ubuntu.id instance_type = "t3.nano" subnet_id = aws_subnet.subnet.id tags = local.instance_tags[count.index] } output "instance_ids" { value = aws_instance.instances.*.id } output "instance_addrs" { value = { for _, r in aws_instance.instances : r.id => r.private_ip } } output "instance_tags" { value = { for _, r in aws_instance.instances : r.id => r.tags } } output "instance_tag_keys" { value = [ random_id.foo_key.dec, random_id.bar_key.dec, random_id.baz_key.dec, ] }