github.com/tarrant/terraform@v0.3.8-0.20150402012457-f68c9eee638e/website/source/docs/providers/google/r/compute_instance_template.html.markdown (about)

     1  ---
     2  layout: "google"
     3  page_title: "Google: google_compute_instance_template"
     4  sidebar_current: "docs-google-resource-instance_template"
     5  description: |-
     6    Manages a VM instance template resource within GCE.
     7  ---
     8  
     9  
    10  # google\_compute\_instance\_template
    11  
    12  Manages a VM instance template resource within GCE.  For more information see
    13  [the official documentation](https://cloud.google.com/compute/docs/instance-templates)
    14  and
    15  [API](https://cloud.google.com/compute/docs/reference/latest/instanceTemplates).
    16  
    17  
    18  ## Example Usage
    19  
    20  ```
    21  resource "google_compute_instance_template" "foobar" {
    22  	name = "terraform-test"
    23  	description = "template description"
    24  	instance_description = "description assigned to instances"
    25  	machine_type = "n1-standard-1"
    26  	can_ip_forward = false
    27  	automatic_restart = true
    28  	on_host_maintenance = "MIGRATE"
    29  	tags = ["foo", "bar"]
    30  
    31  	# Create a new boot disk from an image
    32  	disk {
    33  		source_image = "debian-7-wheezy-v20140814"
    34  		auto_delete = true
    35  		boot = true
    36  	}
    37  
    38  	# Use an existing disk resource
    39  	disk {
    40  		source = "foo_existing_disk"
    41  		auto_delete = false
    42  		boot = false
    43  	}
    44  
    45  	network {
    46  		source = "default"
    47  	}
    48  
    49  	metadata {
    50  		foo = "bar"
    51  	}
    52  
    53  	service_account {
    54  		scopes = ["userinfo-email", "compute-ro", "storage-ro"]
    55  	}
    56  }
    57  ```
    58  
    59  ## Argument Reference
    60  
    61  Note that changing any field for this resource forces a new resource to be created.
    62  
    63  The following arguments are supported:
    64  
    65  * `name` - (Required) A unique name for the resource, required by GCE.
    66  
    67  * `description` - (Optional) A brief description of this resource.
    68  
    69  * `can_ip_forward` - (Optional) Whether to allow sending and receiving of
    70  	packets with non-matching source or destination IPs.
    71  	This defaults to false.
    72  
    73  * `instance_description` - (Optional) A brief description to use for instances
    74  	created from this template.
    75  
    76  * `machine_type` - (Required) The machine type to create.
    77  
    78  * `disk` - (Required) Disks to attach to instances created from this
    79  	template. This can be specified multiple times for multiple disks.
    80  	Structure is documented below.
    81  
    82  * `metadata` - (Optional) Metadata key/value pairs to make available from
    83  	within instances created from this template.
    84  
    85  * `network` - (Required) Networks to attach to instances created from this template.
    86   	This can be specified multiple times for multiple networks. Structure is
    87  	documented below.
    88  
    89  * `automatic_restart` - (Optional) Specifies whether the instance should be
    90  	automatically restarted if it is terminated by Compute Engine (not
    91  	terminated by a user).
    92  	This defaults to true.
    93  
    94  * `on_host_maintenance` - (Optional) Defines the maintenance behavior for this
    95  	instance.
    96  
    97  * `service_account` - (Optional) Service account to attach to the instance.
    98  
    99  * `tags` - (Optional) Tags to attach to the instance.
   100  
   101  
   102  
   103  The `disk` block supports:
   104  
   105  * `auto_delete` - (Optional) Whether or not the disk should be auto-deleted.
   106  	This defaults to true.
   107  
   108  * `boot` - (Optional) Indicates that this is a boot disk.
   109  
   110  * `device_name` - (Optional) A unique device name that is reflected into
   111  	the /dev/  tree of a Linux operating system running within the instance.
   112  	If not specified, the server chooses a default device name to apply to
   113  	this disk.
   114  
   115  * `disk_name` - (Optional) Name of the disk. When not provided, this defaults
   116  	to the name of the instance.
   117  
   118  * `source_image` - (Required if source not set) The name of the image to base
   119  	this disk off of.
   120  
   121  * `interface` - (Optional) Specifies the disk interface to use for attaching
   122  	this disk.
   123  
   124  * `mode` - (Optional) The mode in which to attach this disk, either READ_WRITE
   125  	or READ_ONLY. If you are attaching or creating a boot disk, this must
   126  	read-write mode.
   127  
   128  * `source` - (Required if source_image not set) The name of the disk (such as
   129  	those managed by `google_compute_disk`) to attach.
   130  
   131  * `type` - (Optional) The GCE disk type.
   132  
   133  The `network` block supports:
   134  
   135  * `source` - (Required) The name of the network to attach this interface to.
   136  
   137  * `address` - (Optional) The IP address of a reserved IP address to assign
   138  	to this interface.
   139  
   140  The `service_account` block supports:
   141  
   142  * `scopes` - (Required) A list of service scopes. Both OAuth2 URLs and gcloud
   143  	short names are supported.
   144  
   145  ## Attributes Reference
   146  
   147  The following attributes are exported:
   148  
   149  * `self_link` - The URL of the created resource.