From 30217511ca67a1268c8360c75e961db0766fb9f9 Mon Sep 17 00:00:00 2001 From: hcornet Date: Thu, 2 Jan 2025 19:32:47 +0100 Subject: [PATCH] first sync --- README.md | 4 +- instances.tf | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++ provider.tf | 9 +++ variables.tf | 34 ++++++++++++ 4 files changed, 196 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 95e916e..838a361 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# ${REPO_NAME} +# terraform-scaleway-instance -${REPO_DESCRIPTION} +Construire une instance avec terraform pour Scaleway # A propos de diff --git a/instances.tf b/instances.tf index e69de29..ffd1af5 100644 --- a/instances.tf +++ b/instances.tf @@ -0,0 +1,151 @@ +resource "scaleway_instance_security_group" "my_company_security_group" { + name = "my-company-sg" + inbound_default_policy = "drop" + external_rules = true +} + +resource "scaleway_instance_server" "team_builder_instance" { + name = "team-builder" + type = var.team_builder_instance_type + zone = var.scw_zone + image = "ubuntu_focal" + security_group_id = scaleway_instance_security_group.my_company_security_group.id + tags = ["team-builder"] + + root_volume { + size_in_gb = var.team_builder_instance_root_volume_size_in_gb + delete_on_termination = true + } +} + +resource "scaleway_instance_private_nic" "team_builder_instance_pnic01" { + server_id = scaleway_instance_server.team_builder_instance.id + private_network_id = scaleway_vpc_private_network.my_company_pn.id + + depends_on = [ + scaleway_instance_server.team_builder_instance + ] +} + +resource "time_sleep" "wait_30_seconds_after_team_builder_instance_network_setup" { + create_duration = "30s" + + depends_on = [ + scaleway_instance_server.team_builder_instance, + scaleway_lb.my_company_lb, + scaleway_vpc_public_gateway.my_company_pg, + scaleway_vpc_public_gateway_dhcp_reservation.my_company_pg_dhcp_res_team_builder_instance, + scaleway_vpc_public_gateway_pat_rule.my_company_pg_pat_rule_team_builder_instance_ssh + ] +} + +resource "null_resource" "reboot_team_builder_instance_after_network_setup" { + triggers = { + my_company_pg_dhcp_res_team_builder_instance_id = scaleway_vpc_public_gateway_dhcp_reservation.my_company_pg_dhcp_res_team_builder_instance.id + } + + provisioner "local-exec" { + command = <