1 Reply Latest reply on Dec 17, 2015 8:12 AM by jfrmilner

    Sample Script: Creating an Empty vApp with vCloud PowerCLI

    pwmiller Enthusiast

      Hi Everyone,

       

      The New-CIVApp cmdlet does not allow us to create empty vApps (which can be useful when templating out network configurations, for example). This shortcoming can be overcome by calling the "ComposeVApp" method of a vDC directly. In case anybody else runs into this same problem, I've included my script. Note that it uses the first created organization vDC, so ymmv.

       

      I also realize that I could probably get the vDC directly instead of going through ExtensionData, but I think that this illustrates that "otherwise hidden" parameters can be discovered rather easily through this object ("Get-Member" is your friend!)

       

      $newvapp = New-Object VMware.VimAutomation.Cloud.Views.ComposeVAppParams

      $newvapp.Name = "My New vApp"

      $newvapp.Description = "An empty vApp"

      $result = (DefaultCIServers[0].ExtensionData.OrganizationReferences.OrganizationReference | Where-Object {$_.Name -like "organization name"}).GetCIView().VDCs.VDC[0].GetCIView().ComposeVApp($newvapp)

      $result.tasks.task.wait($null)

      Write-Host "$($result.tasks.task.Operation) $($result.tasks.task.status)

        • 1. Re: Sample Script: Creating an Empty vApp with vCloud PowerCLI
          jfrmilner Lurker

          Thanks.

          Minor typo on Line:

          $result = (DefaultCIServers[0].ExtensionData.OrganizationReferences.OrganizationReference | Where-Object {$_.Name -like "organization name"}).GetCIView().VDCs.VDC[0].GetCIView().ComposeVApp($newvapp)

          should be

          $result = ($DefaultCIServers[0].ExtensionData.OrganizationReferences.OrganizationReference | Where-Object {$_.Name -like "organization name"}).GetCIView().VDCs.VDC[0].GetCIView().ComposeVApp($newvapp)