Provides a vCloud Director vApp resource. This can be used to create, modify, and delete vApps.

Example Usage

resource "vcd_network" "net" {

resource "vcd_vapp" "web" {
    name          = "web"
    catalog_name  = "Boxes"
    template_name = "lampstack-1.10.1-ubuntu-10.04"
    memory        = 2048
    cpus          = 1

    network_name  = "${}"
    network_href  = "${}"
    ip            = ""

    metadata {
        role    = "web"
        env     = "staging"
        version = "v1"


Argument Reference

The following arguments are supported:

  • name - (Required) A unique name for the vApp
  • catalog_name - (Required) The catalog name in which to find the given vApp Template
  • template_name - (Required) The name of the vApp Template to use
  • memory - (Optional) The amount of RAM (in MB) to allocate to the vApp
  • cpus - (Optional) The number of virtual CPUs to allocate to the vApp
  • initscript (Optional) A script to be run only on initial boot
  • network_name - (Required) Name of the network this vApp should join
  • network_href - (Optional) The vCloud Director generated href of the network this vApp should join. If empty it will use the network name and query vCloud Director to discover this
  • ip - (Optional) The IP to assign to this vApp. Must be an IP address or one of dhcp, allocated or none. If given the address must be within the static_ip_pool set for the network. If left blank, and the network has dhcp_pool set with at least one available IP then this will be set with DHCP.
  • metadata - (Optional) Key value map of metadata to assign to this vApp
  • power_on - (Optional) A boolean value stating if this vApp should be powered on. Default to true