diff --git a/main.tf b/main.tf new file mode 100644 index 0000000..f784541 --- /dev/null +++ b/main.tf @@ -0,0 +1,41 @@ +terraform { + required_providers { + google = { + source = "hashicorp/google" + version = "6.27.0" + } + } +} + +provider "google" { + # Configuration options + project = "network-getting-started" + region = "europe-central2" + zone = "europe-central2-b" +} + +data "google_project" "project" { + project_id = "network-getting-started" +} + +resource "google_compute_instance" "vm_1" { + name = "tftest-vm" + machine_type = "e2-micro" + can_ip_forward = false + description = "Terraform test instance" + + boot_disk { + initialize_params { + image = "debian-cloud/debian-12" + } + } + + network_interface { + network = "dom-lab-vpc" + subnetwork = "pl-hub" + } + + metadata = { + ssh-keys = "${var.ssh[0].public_key} ${var.ssh[0].ssh_user}" + } +} diff --git a/main.tfplan b/main.tfplan new file mode 100644 index 0000000..248bc08 Binary files /dev/null and b/main.tfplan differ diff --git a/variables.tf b/variables.tf new file mode 100644 index 0000000..201ddff --- /dev/null +++ b/variables.tf @@ -0,0 +1,7 @@ +variable "ssh" { + description = "SSH Key(s) definition" + type = list(object({ + public_key = string + ssh_user = string + })) +}