Files
threshold-plugin-aws/plugin/testdata/basic/vpc_ec2.tf
T

78 lines
1.4 KiB
Terraform
Raw Normal View History

2021-09-20 16:52:15 -07:00
variable "instance_tags" {
default = [
{
"foo" = "true",
},
{
"foo" = "true",
"bar" = "true",
},
{
"bar" = "true",
},
{
"bar" = "true",
"baz" = "true",
},
{
"baz" = "true",
},
]
}
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"
tags = var.project_path_tags
}
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]
tags = var.project_path_tags
}
resource "aws_instance" "instances" {
count = length(var.instance_tags)
ami = data.aws_ami.ubuntu.id
instance_type = "t3.nano"
2021-09-24 12:47:57 -07:00
subnet_id = aws_subnet.subnet.id
2021-09-20 16:52:15 -07:00
tags = merge(var.instance_tags[count.index], var.project_path_tags)
2021-09-20 16:52:15 -07:00
}
2021-09-22 17:00:37 -07:00
output "instance_ids" {
value = aws_instance.instances.*.id
}
output "instance_addrs" {
value = {
for _, r in aws_instance.instances : r.id => r.private_ip
}
}
2021-09-20 16:52:15 -07:00
output "instance_tags" {
value = {
for _, r in aws_instance.instances : r.id => r.tags
}
}