public VirtualMachine findVirtualMachine(string criteria)
        {
            try
            {
                var request = new RestRequest();
                request.Resource      = "/applications/" + applicationId + "/vms/" + criteria + ";deployment";
                request.Method        = Method.GET;
                request.RequestFormat = DataFormat.Json;

                var response = restClient.Execute(request);

                RestSharp.Deserializers.JsonDeserializer deserial = new RestSharp.Deserializers.JsonDeserializer();

                Console.WriteLine(response.ToString());

                RavelloVm vm = deserial.Deserialize <RavelloVm>(response);

                if (vm.id == null)
                {
                    throw new VirtualizationShimException("Machine not found with ID " + criteria);
                }

                RavelloVirtualMachine rvmTemp;
                rvmTemp = new RavelloVirtualMachine(restClient, vm.id + "", applicationId, vm.name);

                return(rvmTemp);
            }
            catch (SerializationException e)
            {
                throw new VirtualizationShimException("Cannot find Ravello machine with ID " + criteria);
            }
        }
        public List <VirtualMachine> listVirtualMachines()
        {
            var request = new RestRequest();

            request.Resource      = "/applications/" + applicationId + "/vms";
            request.Method        = Method.GET;
            request.RequestFormat = DataFormat.Json;

            var response = restClient.Execute(request);

            RestSharp.Deserializers.JsonDeserializer deserial = new RestSharp.Deserializers.JsonDeserializer();

            List <RavelloVm> vms = deserial.Deserialize <List <RavelloVm> >(response);

            List <VirtualMachine> rvms = new List <VirtualMachine>();

            RavelloVirtualMachine rvmTemp;

            foreach (var rvm in vms)
            {
                rvmTemp = new RavelloVirtualMachine(restClient, rvm.id + "", applicationId, rvm.name);
                rvms.Add(rvmTemp);
            }

            return(rvms);
        }