terraform-provider-google/website/docs/r/compute_instance_from_template.html.markdown
Dana Hoffman 7e04cee958
add new compute_instance_from_template resource (#1652)
This was done as its own resource as suggested in slack, since we don't have the option of making all fields Computed in google_compute_instance. There's precedent in the aws provider for this sort of thing (see ami_copy, ami_from_instance).

When I started working on this I assumed I could do it in the compute_instance resource and so I went ahead and reordered the schema to make it easier to work with in the future. Now it's not quite relevant, but I left it in as its own commit that can be looked at separately from the other changes.

Fixes #1582.
2018-06-28 16:09:23 -07:00

2.2 KiB

layout page_title sidebar_current description
google Google: google_compute_instance_from_template docs-google-compute-instance-from-template Manages a VM instance resource within GCE.

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-8"
    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.