Home

/terraform

terraform {
  required_version = ">= 1.5.0"
  required_providers {
    google = {
      source  = "hashicorp/google"
      version = "~> 5.0"
    }
  }
}

provider "google" {
  project = "YOUR_GCP_PROJECT_ID"
  region  = "us-central1"
  zone    = "us-central1-c"
}

resource "google_compute_instance" "rocky_free_vm" {
  name         = "rocky-free-instance"
  machine_type = "e2-micro"
  zone         = "us-central1-c"

  boot_disk {
    initialize_params {
      # Use Rocky Linux 8, 9, or 10 image project and family
      # Project: rocky-linux-cloud
      # Family examples: rocky-linux-8, rocky-linux-9, rocky-linux-10, or -optimized-gcp variants
      image = "rocky-linux-cloud/rocky-linux-9"
      size  = 30 # Up to 30 GB-months is covered by Free Tier
      type  = "pd-standard"
    }
  }

  network_interface {
    network = "default"

    access_config {
      # Ephemeral public IP (Standard network tier keeps costs minimized)
      network_tier = "STANDARD"
    }
  }
}