private void update() { // todo // add a check here that determines how long it has been since the last update. // if below a threshold, simply return. var request = new RestRequest(); request.Resource = "/vms/" + vmId; request.Method = Method.GET; request.RequestFormat = DataFormat.Json; var response = restClient.Execute(request); RestSharp.Deserializers.JsonDeserializer deserial = new RestSharp.Deserializers.JsonDeserializer(); KimchiVm vm = deserial.Deserialize <KimchiVm>(response); switch (vm.state) { case "running": vmState = VirtualMachineState.POWERED_ON; break; case "shutoff": vmState = VirtualMachineState.POWERED_OFF; break; default: vmState = VirtualMachineState.UNKNOWN; break; } }
public VirtualMachine findVirtualMachine(string criteria) { var request = new RestRequest(); request.Resource = "/vms/" + criteria; request.Method = Method.GET; request.RequestFormat = DataFormat.Json; var response = restClient.Execute(request); RestSharp.Deserializers.JsonDeserializer deserial = new RestSharp.Deserializers.JsonDeserializer(); KimchiVm vm = deserial.Deserialize <KimchiVm>(response); if (vm.name == null || vm.name == "null") { throw new VirtualizationShimException("Kimchi KVM machine not found."); } KimchiVirtualMachine kvmTemp; kvmTemp = new KimchiVirtualMachine(restClient, vm.name); return(kvmTemp); }