void handleChanges(PropertyChange[] changes) { for (int pci = 0; pci < changes.Length; ++pci) { String name = changes[pci].name; Object value = changes[pci].val; PropertyChangeOp op = changes[pci].op; if (op != PropertyChangeOp.remove) { Console.WriteLine(" Property Name: " + name); if ("summary.quickStats".Equals(name)) { if (value.GetType().Name.Equals("VirtualMachineQuickStats")) { VirtualMachineQuickStats vmqs = (VirtualMachineQuickStats)value; String cpu = vmqs.overallCpuUsage.ToString() == null ? "unavailable" :vmqs.overallCpuUsage.ToString(); String memory = vmqs.hostMemoryUsage.ToString() == null ? "unavailable" : vmqs.hostMemoryUsage.ToString(); Console.WriteLine(" Guest Status: " + vmqs.guestHeartbeatStatus.ToString()); Console.WriteLine(" CPU Load %: " + cpu); Console.WriteLine(" Memory Load %: " + memory); } else if (value.GetType().Name.Equals("HostListSummaryQuickStats")) { HostListSummaryQuickStats hsqs = (HostListSummaryQuickStats)value; String cpu = hsqs.overallCpuUsage.ToString() == null ? "unavailable" : hsqs.overallCpuUsage.ToString(); String memory = hsqs.overallMemoryUsage.ToString() == null ? "unavailable" : hsqs.overallMemoryUsage.ToString(); Console.WriteLine(" CPU Load %: " + cpu); Console.WriteLine(" Memory Load %: " + memory); } } else if ("runtime".Equals(name)) { if (value.GetType().Name.Equals("VirtualMachineRuntimeInfo")) { VirtualMachineRuntimeInfo vmri = (VirtualMachineRuntimeInfo)value; Console.WriteLine(" Power State: " + vmri.powerState.ToString()); Console.WriteLine(" Connection State: " + vmri.connectionState.ToString()); DateTime bTime = vmri.bootTime; if (bTime != null) { Console.WriteLine(" Boot Time: " + bTime.TimeOfDay); } long mOverhead = vmri.memoryOverhead; if (mOverhead.ToString() != null) { Console.WriteLine(" Memory Overhead: " + mOverhead); } } else if (value.GetType().Name.Equals("HostRuntimeInfo")) { HostRuntimeInfo hri = (HostRuntimeInfo)value; Console.WriteLine(" Connection State: " + hri.connectionState.ToString()); DateTime bTime = hri.bootTime; if (bTime != null) { Console.WriteLine(" Boot Time: " + bTime.TimeOfDay); } } } else if ("name".Equals(name)) { Console.WriteLine(" " + value); } else { Console.WriteLine(" " + value.ToString()); } } else { Console.WriteLine("Property Name: " + name + " value removed."); } } }
private void displayProperties(String[] args) { _service = cb.getConnection().Service; _sic = cb.getConnection().ServiceContent; String hostName = cb.get_option("hostname"); ManagedObjectReference hmor = _service.FindByDnsName(_sic.searchIndex, null, hostName, false); if (hmor != null) { ArrayList supportedVersions = VersionUtil.getSupportedVersions(cb.get_option("url")); if (VersionUtil.isApiVersionSupported(supportedVersions, "2.5")) { _service = cb.getConnection().Service; _sic = cb.getConnection().ServiceContent; Object[] vmProps = getProperties(hmor, new String[] { "name" }); String serverName = (String)vmProps[0]; Console.WriteLine("Server Name " + serverName); HostRuntimeInfo runtimeInfo = (HostRuntimeInfo)getObjectProperty(hmor, "runtime"); DateTime dt = runtimeInfo.bootTime; Console.WriteLine("Boot Time " + dt.ToString()); String powerState = runtimeInfo.powerState.ToString(); Console.WriteLine("Power State " + powerState); HostConfigInfo configInfo = (HostConfigInfo)getObjectProperty(hmor, "config"); String timeZone = configInfo.dateTimeInfo.timeZone.key; Console.WriteLine("Time Zone " + timeZone); Boolean flag = VersionUtil.isApiVersionSupported(supportedVersions, "4.0"); if (flag) { Console.WriteLine("\nProperties added in 4.0 VI API\n"); Object objFlag = getObjectProperty(hmor, "capability.ipmiSupported"); if (objFlag != null) { Boolean infoFlag = (Boolean)objFlag; Console.WriteLine("IPMI Supported " + infoFlag); } else { Console.WriteLine("\nIPMI Flag not set"); } objFlag = getObjectProperty(hmor, "capability.tpmSupported"); if (objFlag != null) { Boolean infoFlag = (Boolean)objFlag; Console.WriteLine("TPM Supported " + infoFlag); } else { Console.WriteLine("\nTPM Flag not set"); } } } else { Object[] vmProps = getProperties(hmor, new String[] { "name" }); String serverName = (String)vmProps[0]; Console.WriteLine("Server Name " + serverName); } } else { Console.WriteLine("Host Not Found"); } }