Do you need to wait for it to be 100% up (booted fully?) or just wait until it has external IP?
I ask as VCD does not give a way to know when a system is fully booted.
If you just need the external IP, the vapp has a deploy feature (this will start it) - once this task is completed you can get the IP's addresses, and then do a vapp.Undeploy
You will need to wait on some tasks to get done, the vapp when loaded has a Resources.Tasks collection of all the tasks that are going on.