When you instantiate a vApp template, the server returns the URL of the resulting vApp. You can use this URL with a GET request to retrieve information that you can use to connect to the vApp, modify its configuration, and operate it.

As other examples have shown, a client can always use an HTTP GET request to the URL in the object's href attribute to discover the current state of any VMware Cloud Director API object, including a vApp.

Prerequisites

This operation requires the rights included in the predefined vApp Author role or an equivalent set of rights.Verify that you are logged in to the vCloud Air Compute Service as an End User.

Procedure

  1. Retrieve the XML representation of the vApp.
    Make a GET request to the URL in the href attribute of the VApp element that is returned when you create the vApp from the template.
  2. Examine the response.

Example: Getting Information About the vApp

This response reveals several things about the vApp:
  • The vApp is deployed (its deployed attribute is set to true) and powered on (status="4"). See Object Creation Status.
  • The Vm in its Children collection is also powered on and deployed. The Vm is connected to the vApp network created during instantiation. See Deploying a vApp. Properties of this network are included in the NetworkConfigSection of the vApp, although most are not shown here. Properties of the virtual machine's connection to the network, including its IP address, are shown in the NetworkConnection of the Vm.
  • Action links for all operations except powerOn are present in the VApp element and the Vm element that it contains. Because the vApp is already powered on, that operation is invalid for the vApp in its current state, so the link is not part of the response. The link for deploy is always present, even in a deployed vApp, because the deploy action is always valid. The Vm element also includes several links for actions that are not applicable to a vApp. Actions such as acquiring a screen ticket or thumbnail, and inserting or removing media, are meaningful only in the context of a virtual machine. Other actions, like shutdown and reboot, can be applied to either object. See Deploying and Operating vApps and Virtual Machines.
Request:
GET https://vcloud.example.com/api/vApp/vapp-7
Response:
200 OK
Content-Type: application/vnd.vmware.vcloud.vApp+xml
...
<VApp
   ...
   deployed="true"
   status="4"
   name="Linux FTP server"
   type="application/vnd.vmware.vcloud.vApp+xml"
   href="https://vcloud.example.com/api/vApp/vapp-7" ... >
   ...
   <Link
      rel="power:reboot"
      href="https://vcloud.example.com/api/vApp/vapp-7/power/action/reboot" />
   <Link
      rel="power:powerOff"
      href="https://vcloud.example.com/api/vApp/vapp-7/power/action/powerOff" />
   <Link
      rel="undeploy"
      href="https://vcloud.example.com/api/vApp/vapp-7/action/undeploy" />
   <Link
      rel="deploy"
      href="https://vcloud.example.com/api/vApp/vapp-7/action/deploy" />
   <Link
      rel="power:shutdown"
      href="https://vcloud.example.com/api/vApp/vapp-7/power/action/shutdown" />
   <Link
      rel="power:reset"
      href="https://vcloud.example.com/api/vApp/vapp-7/power/action/reset" />
   <Link
      rel="power:suspend"
      href="https://vcloud.example.com/api/vApp/vapp-7/power/action/suspend" />
   <Link ... />
   ...
   <Description>Example FTP Server vApp</Description>
   <LeaseSettingsSection ... >
      ...
   </LeaseSettingsSection>
   <ovf:StartupSection ... >
      ...
   </ovf:StartupSection>
   <ovf:NetworkSection ... >
      <ovf:Info />
      <ovf:Network
         ovf:name="vAppNetwork">
         <ovf:Description />
      </ovf:Network>
   </ovf:NetworkSection>
   <NetworkConfigSection
      href="https://vcloud.example.com/api/vApp/vapp-7/networkConfigSection/"
      ovf:required="false">
      <Link
         rel="edit"
         type="application/vnd.vmware.vcloud.networkConfigSection+xml"
         href="https://vcloud.example.com/api/vApp/vapp-7/networkConfigSection/" />
      <ovf:Info>Configuration parameters for vAppNetwork</ovf:Info>
      <NetworkConfig
         networkName="vAppNetwork">
         <Configuration>
            <IpScopes>
               ...
            </IpScopes>
            <ParentNetwork
               type="application/vnd.vmware.vcloud.network+xml"
               name="Internet"
               href="https://vcloud.example.com/api/network/54" />
            <FenceMode>bridged</FenceMode>
         </Configuration>
         <IsDeployed>true</IsDeployed>
      </NetworkConfig>
   </NetworkConfigSection>
   <Children>
      <Vm
         deployed="true"
         status="4"
         name="ubuntu10-x86"
         type="application/vnd.vmware.vcloud.vm+xml"
         href="https://vcloud.example.com/api/vApp/vm-4">
         ...
         <Link
            rel="power:reboot"
            href="https://vcloud.example.com/api/vApp/vm-4/power/action/reboot" />
         <Link
            rel="power:powerOff"
            href="https://vcloud.example.com/api/vApp/vm-4/power/action/powerOff" />
         <Link
            rel="undeploy"
            href="https://vcloud.example.com/api/vApp/vm-4/action/undeploy" />
         <Link
            rel="deploy"
            href="https://vcloud.example.com/api/vApp/vm-4/action/deploy" />
         <Link
            rel="power:shutdown"
            href="https://vcloud.example.com/api/vApp/vm-4/power/action/shutdown" />
         <Link
            rel="power:reset"
            href="https://vcloud.example.com/api/vApp/vm-4/power/action/reset" />
         <Link
            rel="power:suspend"
            href="https://vcloud.example.com/api/vApp/vm-4/power/action/suspend" />
         <Link
            rel="up"
            type="application/vnd.vmware.vcloud.vApp+xml"
            href="https://vcloud.example.com/api/vApp/vapp-7" />
         <Link
            rel="screen:thumbnail"
            href="https://vcloud.example.com/api/vApp/vm-4/screen" />
         <Link
            rel="screen:acquireTicket"
            href="https://vcloud.example.com/api/vApp/vm-4/screen/action/acquireTicket" />
         <Link
            rel="media:insertMedia"
            type="application/vnd.vmware.vcloud.mediaInsertOrEjectParams+xml"
            href="https://vcloud.example.com/api/vApp/vm-4/media/action/insertMedia" />
         <Link ... />
         ...
         <Description />
         <ovf:VirtualHardwareSection>
            ...
         </ovf:VirtualHardwareSection>
         ...
         <NetworkConnectionSection>
            ...
            <NetworkConnection>
               network="vAppNetwork">
               <NetworkConnectionIndex>0</NetworkConnectionIndex>
               <IpAddress>10.147.201.10</IpAddress>
               <IsConnected>true</IsConnected>
               <MACAddress>00:50:56:01:01:49</MACAddress>
               <IpAddressAllocationMode>DHCP</IpAddressAllocationMode>
            </NetworkConnection>
         </NetworkConnectionSection>
         <GuestCustomizationSection>
            ...
         </GuestCustomizationSection>
         ...
      </Vm>
   </Children>
</VApp>