» google_compute_instance_from_template

Manages a VM instance resource within GCE. For more information see the official documentation and API.

This resource is specifically to create a compute instance from a given source_instance_template. To create an instance without a template, use the google_compute_instance resource.

» Example Usage

resource "google_compute_instance_template" "tpl" {
  name = "template"
  machine_type = "n1-standard-1"

  disk {
    source_image = "debian-cloud/debian-9"
    auto_delete = true
    disk_size_gb = 100
    boot = true
  }

  network_interface {
    network = "default"
  }

  metadata = {
    foo = "bar"
  }

  can_ip_forward = true
}

resource "google_compute_instance_from_template" "tpl" {
  name           = "instance-from-template"
  zone           = "us-central1-a"

  source_instance_template = "${google_compute_instance_template.tpl.self_link}"

  // Override fields from instance template
  can_ip_forward = false
  labels = {
    my_key       = "my_value"
  }
}

» Argument Reference

The following arguments are supported:

  • name - (Required) A unique name for the resource, required by GCE. Changing this forces a new resource to be created.

  • source_instance_template - (Required) Name or self link of an instance template to create the instance based on.


  • zone - (Optional) The zone that the machine should be created in. If not set, the provider zone is used.

In addition to these, all arguments from google_compute_instance are supported as a way to override the properties in the template. All exported attributes from google_compute_instance are likewise exported here.

» Timeouts

This resource provides the following Timeouts configuration options:

  • create - Default is 6 minutes.
  • update - Default is 6 minutes.
  • delete - Default is 6 minutes.