terraform-provider-google/website/docs/r/compute_instance_from_template.html.markdown
The Magician 5c925718d1 012 instance from template (#3434)
Signed-off-by: Modular Magician <magic-modules@google.com>
2019-04-15 14:21:24 -07:00

97 lines
2.5 KiB
Markdown

---
layout: "google"
page_title: "Google: google_compute_instance_from_template"
sidebar_current: "docs-google-compute-instance-from-template"
description: |-
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](https://cloud.google.com/compute/docs/instances)
and
[API](https://cloud.google.com/compute/docs/reference/latest/instances).
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
```hcl
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.
To support removal of Optional/Computed fields in Terraform 0.12 the following fields
are marked [Attributes as Blocks](/docs/configuration/attr-as-blocks.html):
* `attached_disk`
* `guest_accelerator`
* `service_account`
* `scratch_disk`
* `network_interface.alias_ip_range`
* `network_interface.access_config`
## Timeouts
This resource provides the following
[Timeouts](/docs/configuration/resources.html#timeouts) configuration options:
- `create` - Default is 6 minutes.
- `update` - Default is 6 minutes.
- `delete` - Default is 6 minutes.