terraform-provider-google/website/docs/r/compute_target_instance.html.markdown
The Magician 4d9f0a456d Add new line before project doc bullet (#3645)
Signed-off-by: Modular Magician <magic-modules@google.com>
2019-05-17 09:58:48 -07:00

4.9 KiB
Raw Blame History

layout page_title sidebar_current description
google Google: google_compute_target_instance docs-google-compute-target-instance Represents a TargetInstance resource which defines an endpoint instance that terminates traffic of certain protocols.

google_compute_target_instance

Represents a TargetInstance resource which defines an endpoint instance that terminates traffic of certain protocols. In particular, they are used in Protocol Forwarding, where forwarding rules can send packets to a non-NATed target instance. Each target instance contains a single virtual machine instance that receives and handles traffic from the corresponding forwarding rules.

To get more information about TargetInstance, see:

## Example Usage - Target Instance Basic
resource "google_compute_target_instance" "default" {
  name        = "target"
  instance    = "${google_compute_instance.target-vm.self_link}"
}

data "google_compute_image" "vmimage" {
  family  = "debian-9"
  project = "debian-cloud"
}

resource "google_compute_instance" "target-vm" {
  name         = "target-vm"
  machine_type = "n1-standard-1"
  zone         = "us-central1-a"

  boot_disk {
    initialize_params{
      image = "${data.google_compute_image.vmimage.self_link}"
    }
  }

  network_interface {
    network = "default"
  }
}

Argument Reference

The following arguments are supported:

  • name - (Required) Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

  • instance - (Required) The Compute instance VM handling traffic for this target instance. Accepts the instance self-link, relative path (e.g. projects/project/zones/zone/instances/instance) or name. If name is given, the zone will default to the given zone or the provider-default zone and the project will default to the provider-level project.


  • description - (Optional) An optional description of this resource.

  • nat_policy - (Optional) NAT option controlling how IPs are NAT'ed to the instance. Currently only NO_NAT (default value) is supported.

  • zone - (Optional) URL of the zone where the target instance resides.

  • project - (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • creation_timestamp - Creation timestamp in RFC3339 text format.
  • self_link - The URI of the created resource.

Timeouts

This resource provides the following Timeouts configuration options:

  • create - Default is 4 minutes.
  • delete - Default is 4 minutes.

Import

TargetInstance can be imported using any of these accepted formats:

$ terraform import google_compute_target_instance.default projects/{{project}}/zones/{{zone}}/targetInstances/{{name}}
$ terraform import google_compute_target_instance.default {{project}}/{{zone}}/{{name}}
$ terraform import google_compute_target_instance.default {{name}}

-> If you're importing a resource with beta features, make sure to include -provider=google-beta as an argument so that Terraform uses the correct provider to import your resource.