4.2 KiB
layout | page_title | sidebar_current | description |
---|---|---|---|
Google: google_compute_instance_template | docs-google-resource-instance_template | Manages a VM instance template resource within GCE. |
google_compute_instance_template
Manages a VM instance template resource within GCE. For more information see the official documentation and API.
Example Usage
resource "google_compute_instance_template" "foobar" {
name = "terraform-test"
description = "template description"
instance_description = "description assigned to instances"
machine_type = "n1-standard-1"
can_ip_forward = false
automatic_restart = true
on_host_maintenance = "MIGRATE"
tags = ["foo", "bar"]
# Create a new boot disk from an image
disk {
source_image = "debian-7-wheezy-v20140814"
auto_delete = true
boot = true
}
# Use an existing disk resource
disk {
source = "foo_existing_disk"
auto_delete = false
boot = false
}
network {
source = "default"
}
metadata {
foo = "bar"
}
service_account {
scopes = ["userinfo-email", "compute-ro", "storage-ro"]
}
}
Argument Reference
Note that changing any field for this resource forces a new resource to be created.
The following arguments are supported:
-
name
- (Required) A unique name for the resource, required by GCE. -
description
- (Optional) A brief description of this resource. -
can_ip_forward
- (Optional) Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false. -
instance_description
- (Optional) A brief description to use for instances created from this template. -
machine_type
- (Required) The machine type to create. -
disk
- (Required) Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below. -
metadata
- (Optional) Metadata key/value pairs to make available from within instances created from this template. -
network
- (Required) Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below. -
automatic_restart
- (Optional) Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). This defaults to true. -
on_host_maintenance
- (Optional) Defines the maintenance behavior for this instance. -
service_account
- (Optional) Service account to attach to the instance. -
tags
- (Optional) Tags to attach to the instance.
The disk
block supports:
-
auto_delete
- (Optional) Whether or not the disk should be auto-deleted. This defaults to true. -
boot
- (Optional) Indicates that this is a boot disk. -
device_name
- (Optional) A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk. -
disk_name
- (Optional) Name of the disk. When not provided, this defaults to the name of the instance. -
source_image
- (Required if source not set) The name of the image to base this disk off of. -
interface
- (Optional) Specifies the disk interface to use for attaching this disk. -
mode
- (Optional) The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode. -
source
- (Required if source_image not set) The name of the disk (such as those managed bygoogle_compute_disk
) to attach. -
type
- (Optional) The GCE disk type.
The network
block supports:
-
source
- (Required) The name of the network to attach this interface to. -
address
- (Optional) The IP address of a reserved IP address to assign to this interface.
The service_account
block supports:
scopes
- (Required) A list of service scopes. Both OAuth2 URLs and gcloud short names are supported.
Attributes Reference
The following attributes are exported:
self_link
- The URL of the created resource.