terraform { required_providers { scaleway = { source = "scaleway/scaleway" } } required_version = ">= 0.13" } provider "scaleway" { zone = var.zone region = var.region } resource "scaleway_instance_ip" "public_ip" { project_id = var.project_id } resource "scaleway_instance_volume" "volume" { name = "v7days" project_id = var.project_id size_in_gb = var.data_volume_size type = "l_ssd" lifecycle { prevent_destroy = true } } resource "scaleway_instance_security_group" "security_group" { name = "sg7daysPL" project_id = var.project_id inbound_default_policy = "drop" outbound_default_policy = "accept" inbound_rule { action = "accept" port = "22" } inbound_rule { action = "accept" port = "80" } inbound_rule { action = "accept" port = "443" } inbound_rule { action = "accept" port = "26900" protocol = "TCP" } inbound_rule { action = "accept" port = "26900" protocol = "UDP" } inbound_rule { action = "accept" port = "26901" protocol = "TCP" } inbound_rule { action = "accept" port = "26901" protocol = "UDP" } inbound_rule { action = "accept" port = "26902" protocol = "TCP" } inbound_rule { action = "accept" port = "26902" protocol = "UDP" } } resource "scaleway_instance_server" "instance_server" { name = "i7daysPL" project_id = var.project_id type = var.instance_type image = var.instance_image tags = ["game", "terraform"] ip_id = scaleway_instance_ip.public_ip.id additional_volume_ids = [scaleway_instance_volume.volume.id] root_volume { size_in_gb = var.instance_volume_size } security_group_id = scaleway_instance_security_group.security_group.id }