terraform-provider-google/r/compute_instance_template.html.markdown
2015-02-10 10:41:21 +00:00

4.2 KiB

layout page_title sidebar_current description
google 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 by google_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.