» vsphere_vapp_entity
The vsphere_vapp_entity
resource can be used to describe the behavior of an
entity (virtual machine or sub-vApp container) in a vApp container.
For more information on vSphere vApps, see this page.
» Example Usage
The basic example below sets up a vApp container and a virtual machine in a compute cluster and then creates a vApp entity to change the virtual machine's power on behavior in the vApp container.
variable "datacenter" {
default = "dc1"
}
variable "cluster" {
default = "cluster1"
}
data "vsphere_datacenter" "dc" {
name = "${var.datacenter}"
}
data "vsphere_compute_cluster" "compute_cluster" {
name = "${var.cluster}"
datacenter_id = "${data.vsphere_datacenter.dc.id}"
}
data "vsphere_network" "network" {
name = "network1"
datacenter_id = "${data.vsphere_datacenter.dc.id}"
}
data "vsphere_datastore" "datastore" {
name = "datastore1"
datacenter_id = "${data.vsphere_datacenter.dc.id}"
}
resource "vsphere_vapp_container" "vapp_container" {
name = "terraform-vapp-container-test"
parent_resource_pool_id = "${data.vsphere_compute_cluster.compute_cluster.id}"
}
resource "vsphere_vapp_entity" "vapp_entity" {
target_id = "vsphere_virtual_machine.vm.id"
container_id = "vsphere_vapp_container.vapp_container.id"
start_action = "non"
}
resource "vsphere_virtual_machine" "vm" {
name = "terraform-virutal-machine-test"
resource_pool_id = "${vsphere_vapp_container.vapp_container.id}"
datastore_id = "${data.vsphere_datastore.datastore.id}"
num_cpus = 2
memory = 1024
guest_id = "ubuntu64Guest"
disk {
label = "disk0"
size = 1
}
network_interface {
network_id = "${data.vsphere_network.network.id}"
}
}
» Argument Reference
The following arguments are supported:
-
target_id
- (Required) [Managed object ID|docs-about-morefs] of the entity to power on or power off. This can be a virtual machine or a vApp. -
container_id
- (Required) [Managed object ID|docs-about-morefs] of the vApp container the entity is a member of. -
start_order
- (Optional) Order to start and stop target in vApp. Default: 1 -
start_action
- (Optional) How to start the entity. Valid settings are none or powerOn. If set to none, then the entity does not participate in auto-start. Default: powerOn -
start_delay
- (Optional) Delay in seconds before continuing with the next entity in the order of entities to be started. Default: 120 -
stop_action
- (Optional) Defines the stop action for the entity. Can be set to none, powerOff, guestShutdown, or suspend. If set to none, then the entity does not participate in auto-stop. Default: powerOff -
stop_delay
- (Optional) Delay in seconds before continuing with the next entity in the order sequence. This is only used if the stopAction is guestShutdown. Default: 120 -
wait_for_guest
- (Optional) Determines if the VM should be marked as being started when VMware Tools are ready instead of waiting forstart_delay
. This property has no effect for vApps. Default: false
» Attribute Reference
The only attribute this resource exports is the id
of the resource, which is
the vApp entity's managed object ID separated from the
virtual machines managed object ID by a colon.
» Importing
An existing vApp entity can be imported into this resource via the ID of the vApp Entity.
terraform import vsphere_vapp_entity.vapp_entity vm-123:res-456
The above would import the vApp entity that governs the behavior of the virtual machine with a managed object ID of vm-123 in the vApp container with the managed object ID res-456.