From 4bac33ddc42012a1ec97d8b6d6a4c26e08855c2b Mon Sep 17 00:00:00 2001 From: gitops_test Date: Thu, 18 Jun 2026 08:37:34 +0000 Subject: [PATCH] terraform: created terraform-configurations/3/configuration-3.tf --- terraform-configurations/3/configuration-3.tf | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 terraform-configurations/3/configuration-3.tf diff --git a/terraform-configurations/3/configuration-3.tf b/terraform-configurations/3/configuration-3.tf new file mode 100644 index 0000000..cccbd26 --- /dev/null +++ b/terraform-configurations/3/configuration-3.tf @@ -0,0 +1,117 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.0" + } + } +} + +provider "aws" { + region = "eu-west-1" + + default_tags { + tags = { + Project = "espaciodatos-3" + } + } +} + +resource "aws_vpc" "simpl_vpc" { + cidr_block = "10.0.0.0/16" + enable_dns_support = true + enable_dns_hostnames = true + + tags = { + Name = "simpl-vpc-3" + } +} + +resource "aws_subnet" "simpl_subnet" { + vpc_id = aws_vpc.simpl_vpc.id + cidr_block = "10.0.1.0/24" + map_public_ip_on_launch = true + + tags = { + Name = "simpl-subnet-3" + } +} + +resource "aws_internet_gateway" "simpl_igw" { + vpc_id = aws_vpc.simpl_vpc.id + + tags = { + Name = "simpl-igw-3" + } +} + +resource "aws_route_table" "simpl_rt" { + vpc_id = aws_vpc.simpl_vpc.id + + route { + cidr_block = "0.0.0.0/0" + gateway_id = aws_internet_gateway.simpl_igw.id + } + + tags = { + Name = "simpl-rt-3" + } +} + +resource "aws_route_table_association" "simpl_rta" { + subnet_id = aws_subnet.simpl_subnet.id + route_table_id = aws_route_table.simpl_rt.id +} + +resource "aws_security_group" "simpl_sg" { + count = 1 + name = "simpl-sg-3" + description = "SIMPL security group" + vpc_id = aws_vpc.simpl_vpc.id + + ingress { + description = "SSH" + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + dynamic "ingress" { + for_each = toset(["8088"]) + content { + from_port = tonumber(ingress.value) + to_port = tonumber(ingress.value) + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + } + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_instance" "simpl_vm" { + ami = "ami-02ad7d74d71067c63" + instance_type = "t3.small" + subnet_id = aws_subnet.simpl_subnet.id + vpc_security_group_ids = 1 > 0 ? [aws_security_group.simpl_sg[0].id] : [] + user_data_base64 = "I2Nsb3VkLWNvbmZpZwp1c2VyczoKICAtIGRlZmF1bHQgICAgICAgICAgCiAgLSBuYW1lOiBjTnkxNHUyMzJvCiAgICBncm91cHM6IHN1ZG8sIGRvY2tlcgogICAgc2hlbGw6IC9iaW4vYmFzaAogICAgc3VkbzogQUxMPShBTEwpIE5PUEFTU1dEOkFMTAogICAgbG9ja19wYXNzd2Q6IGZhbHNlCiAgICBwYXNzd2Q6ICQ2JHJvdW5kcz00MDk2JHJjUnd5SFRsZklOVmo5djckZE8zMXBjaTJnMGFjM3BUYVJ1SHB5OHNxY3FCL3d5NndoSllOSGEzY3lyVThzeFQyU3Vob2xzVUo3eENJSnpLb3NvQTdIMzlBNG9PMExQOTd2clFLSjAKCnBhY2thZ2VzOgogIC0gZG9ja2VyLmlvCgpwYWNrYWdlX3VwZGF0ZTogdHJ1ZQpwYWNrYWdlX3VwZ3JhZGU6IHRydWUKc3NoX3B3YXV0aDogdHJ1ZQoKcnVuY21kOgogIC0gc3lzdGVtY3RsIHN0YXJ0IGRvY2tlcgogIC0gc3lzdGVtY3RsIGVuYWJsZSBkb2NrZXIKICAtIGRvY2tlciBwdWxsIGFwYWNoZS9zdXBlcnNldDpsYXRlc3QKICAtICJkb2NrZXIgcnVuIC1kIC1wIDgwODg6ODA4OCAtLW5hbWUgc3VwZXJzZXQgLS1yZXN0YXJ0IHVubGVzcy1zdG9wcGVkIC1lIFNVUEVSU0VUX1NFQ1JFVF9LRVk9c2ltcGwtc3VwZXJzZXQtc2VjcmV0IGFwYWNoZS9zdXBlcnNldCIKICAtIHNsZWVwIDEyMAogIC0gImRvY2tlciBleGVjIHN1cGVyc2V0IHN1cGVyc2V0IGZhYiBjcmVhdGUtYWRtaW4gLS11c2VybmFtZSBhZG1pbiAtLWZpcnN0bmFtZSBhZG1pbiAtLWxhc3RuYW1lIFVzZXIgLS1lbWFpbCBhZG1pbkB3ZWJlci5jb20gLS1wYXNzd29yZCAnTD1ZJSY2aVMpcSciCiAgLSBkb2NrZXIgZXhlYyBzdXBlcnNldCBzdXBlcnNldCBkYiB1cGdyYWRlCiAgLSBkb2NrZXIgZXhlYyBzdXBlcnNldCBzdXBlcnNldCBsb2FkX2V4YW1wbGVzCiAgLSBkb2NrZXIgZXhlYyBzdXBlcnNldCBzdXBlcnNldCBpbml0CiAgLSBkb2NrZXIgcmVzdGFydCBzdXBlcnNldAogIC0gdWZ3IGFsbG93IDIyL3RjcAogIC0gdWZ3IGFsbG93IDgwODgvdGNwCiAgLSB1ZncgLS1mb3JjZSBlbmFibGUKICAtIHN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKCndyaXRlX2ZpbGVzOgogIC0gcGF0aDogL2V0Yy9zc2gvc3NoZF9jb25maWcuZC9zaW1wbC1oYXJkZW5pbmcuY29uZgogICAgY29udGVudDogfAogICAgICBQZXJtaXRSb290TG9naW4gbm8KICAgICAgUGFzc3dvcmRBdXRoZW50aWNhdGlvbiB5ZXMKICAgICAgTWF4QXV0aFRyaWVzIDUKICAgIG93bmVyOiByb290OnJvb3QKICAgIHBlcm1pc3Npb25zOiAnMDY0NCc=" + + root_block_device { + volume_size = 30 + } + + tags = { + Name = "offering-enterprise-server-3-terraform" + } +} + +output "vmIps" { + depends_on = [aws_instance.simpl_vm] + value = [aws_instance.simpl_vm.public_ip] +}