protected void service( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); String morStr = request.getParameter(MOREF); String type = morStr.substring(0, morStr.indexOf(":")); String value = morStr.substring(morStr.indexOf(":")+1); ManagedObjectReference mor = new ManagedObjectReference(); mor.setType(type); mor.set_value(value); String sessionStr = "vmware_soap_session=\"" + request.getParameter(SESSION_ID) + "\""; System.out.println("morStr:" + morStr); System.out.println("serviceUrl" + request.getParameter(SERVICE_URL) ); System.out.println("session:" + sessionStr); ServiceInstance si = new ServiceInstance(new URL( request.getParameter(SERVICE_URL)),sessionStr, true); ManagedEntity me = MorUtil.createExactManagedEntity( si.getServerConnection(), mor); String name = me.getName(); out.println("name:" + name); out.println(DateFormat.getDateTimeInstance().format( new Date())); }
public void resetEntityPermissions(ManagedEntity entity, Permission[] permission) throws AuthMinimumAdminPermission, NotFound, UserNotFound, RuntimeFault, RemoteException { if(entity==null) { throw new IllegalArgumentException("entity must not be null."); } getVimService().resetEntityPermissions(getMOR(), entity.getMOR(), permission); }
/** * Returns the vCenter folder of a virtual machine */ private void getVmFolder(String vmName, PrintWriter out) throws IOException { try { VirtualMachine vm = (VirtualMachine) getManagedEntity(vmName, "VirtualMachine"); String vmFolder = ""; if (vm == null) { LOG.warn("No vm named '" + vmName + "' found"); } else { ManagedEntity fd = vm.getParent(); while (fd instanceof Folder) { vmFolder = "/" + fd.getName() + vmFolder; fd = fd.getParent(); } } out.print(vmFolder); out.flush(); } catch (Exception ex) { LOG.error("An error occurred : " + ex.toString()); } }
public void reload() throws RuntimeFault, RemoteException { getVimService().reload(getMOR()); }
public Task destroy_Task() throws VimFault, RuntimeFault, RemoteException { ManagedObjectReference taskMor = getVimService().destroy_Task(getMOR()); return new Task(getServerConnection(), taskMor); }
/** * Gets the custom attributes. * * @param entity the entity * @return the custom attributes */ private Map<String,String> getCustomAttributes(ManagedEntity entity) { final Map<String,String> attributes = new TreeMap<String,String>(); logger.debug("Getting custom attributes from VMware management server {} : ManagedEntity {} (ID: {})", request.getHostname(), entity.getName(), entity.getMOR().getVal()); CustomFieldDef[] defs = new CustomFieldDef[0]; try { defs = entity.getAvailableField(); } catch (RemoteException e) { logger.warn("Cannot fetch attributes for entity '{}' (ID: {})", entity.getName(), entity.getMOR().getVal()); logger.warn("Exception thrown while fetching attributes: {}", e); return attributes; } CustomFieldValue[] values = entity.getCustomValue(); for (int i = 0; defs != null && i < defs.length; i++) { String key = defs[i].getName(); int targetIndex = defs[i].getKey(); for (int j = 0; values != null && j < values.length; j++) { if (targetIndex == values[j].getKey()) { attributes.put(key, ((CustomFieldStringValue) values[j]).getValue()); } } } return attributes; }
requisitionNode.setNodeLabel(managedEntity.getName()); requisitionNode.setForeignId(managedEntity.getMOR().getVal()); logger.debug("Start primary interface search for managed entity '{}' (ID: {})", managedEntity.getName(), managedEntity.getMOR().getVal()); logger.error("Undefined type of managedEntity '{}'", managedEntity.getMOR().getType()); return null; ManagedEntity parentEntity = managedEntity.getParent(); if (parentEntity != null && parentEntity.getMOR() != null) { vmwareTopologyInfo.append(parentEntity.getMOR().getVal() + "/" + URLEncoder.encode(parentEntity.getName(), StandardCharsets.UTF_8.name())); } else { logger.warn("Can't add topologyInformation because either the parentEntity or the MOR is null for " + managedEntity.getName()); parentEntity = parentEntity == null ? null : parentEntity.getParent(); } while (parentEntity != null); logger.warn("Cannot retrieve datastores for managedEntity '{}': '{}'", managedEntity.getMOR().getVal(), e.getMessage()); logger.warn("Cannot retrieve networks for managedEntity '{}': '{}'", managedEntity.getMOR().getVal(), e.getMessage()); logger.warn("Cannot retrieve datastores for managedEntity '{}': '{}'", managedEntity.getMOR().getVal(), e.getMessage()); logger.warn("Cannot retrieve networks for managedEntity '{}': '{}'", managedEntity.getMOR().getVal(), e.getMessage()); logger.error("Undefined type of managedEntity '{}'", managedEntity.getMOR().getType());
logger.debug("Getting Managed entity custom attributes from VMware management server {} : ManagedEntity {} (ID: {})", request.getHostname(), managedEntity.getName(), managedEntity.getMOR().getVal()); Map<String,String> attribMap = getCustomAttributes(managedEntity); logger.debug("_[customAttributeName] provisioning attributes specified. Making sure Managed Entity {} has the requested custom attributes", managedEntity.getName()); boolean ok = true; final Map<String, String> customAttributes = request.getCustomAttributesMap(); String attribValue = attribMap.get(StringUtils.removeStart(keyName, "_")); if (attribValue == null) { logger.debug("No custom attribute named {} found for Managed Entity {}", keyName, managedEntity.getName()); ok = false; } else { String value = request.getOldValue(); if (key == null && value == null) { logger.debug("No custom attributes required for provisioning Managed Entity {}.", managedEntity.getName()); return true; logger.error("Not provisioning Manged Entiry {}: Using old key/value parameters, but either 'key' or 'value' parameter isn't set.", managedEntity.getName()); return false; logger.debug("No custom attributes named {} found for Managed Entity {}", key, managedEntity.getName()); return false;
PropertyCollector pc = rootEntity.getServerConnection().getServiceInstance().getPropertyCollector(); AboutInfo ai = rootEntity.getServerConnection().getServiceInstance().getAboutInfo(); os.setObj(rootEntity.getMOR()); os.setSkip(Boolean.FALSE); os.setSelectSet(selectionSpecs);
if (dc != null) { if ("overall".equals(type)) { status = dc.getOverallStatus().toString(); } else if ("config".equals(type)) { status = dc.getConfigStatus().toString();
/** @since SDK4.1 */ public ManagedEntity getParentVApp() { ManagedObjectReference mor = (ManagedObjectReference) getCurrentProperty("parentVApp"); return new ManagedEntity(getServerConnection(), mor); }
/** * Gets the custom attributes. * * @param entity the entity * @return the custom attributes */ private Map<String,String> getCustomAttributes(ManagedEntity entity) { final Map<String,String> attributes = new TreeMap<String,String>(); logger.debug("Getting custom attributes from VMware management server {} : ManagedEntity {} (ID: {})", request.getHostname(), entity.getName(), entity.getMOR().getVal()); CustomFieldDef[] defs = new CustomFieldDef[0]; try { defs = entity.getAvailableField(); } catch (RemoteException e) { logger.warn("Cannot fetch attributes for entity '{}' (ID: {})", entity.getName(), entity.getMOR().getVal()); logger.warn("Exception thrown while fetching attributes: {}", e); return attributes; } CustomFieldValue[] values = entity.getCustomValue(); for (int i = 0; defs != null && i < defs.length; i++) { String key = defs[i].getName(); int targetIndex = defs[i].getKey(); for (int j = 0; values != null && j < values.length; j++) { if (targetIndex == values[j].getKey()) { attributes.put(key, ((CustomFieldStringValue) values[j]).getValue()); } } } return attributes; }
requisitionNode.setNodeLabel(managedEntity.getName()); requisitionNode.setForeignId(managedEntity.getMOR().getVal()); logger.debug("Start primary interface search for managed entity '{}' (ID: {})", managedEntity.getName(), managedEntity.getMOR().getVal()); logger.error("Undefined type of managedEntity '{}'", managedEntity.getMOR().getType()); return null; ManagedEntity parentEntity = managedEntity.getParent(); if (parentEntity != null && parentEntity.getMOR() != null) { vmwareTopologyInfo.append(parentEntity.getMOR().getVal() + "/" + URLEncoder.encode(parentEntity.getName(), StandardCharsets.UTF_8.name())); } else { logger.warn("Can't add topologyInformation because either the parentEntity or the MOR is null for " + managedEntity.getName()); parentEntity = parentEntity == null ? null : parentEntity.getParent(); } while (parentEntity != null); logger.warn("Cannot retrieve datastores for managedEntity '{}': '{}'", managedEntity.getMOR().getVal(), e.getMessage()); logger.warn("Cannot retrieve networks for managedEntity '{}': '{}'", managedEntity.getMOR().getVal(), e.getMessage()); logger.warn("Cannot retrieve datastores for managedEntity '{}': '{}'", managedEntity.getMOR().getVal(), e.getMessage()); logger.warn("Cannot retrieve networks for managedEntity '{}': '{}'", managedEntity.getMOR().getVal(), e.getMessage()); logger.error("Undefined type of managedEntity '{}'", managedEntity.getMOR().getType());
logger.debug("Getting Managed entity custom attributes from VMware management server {} : ManagedEntity {} (ID: {})", request.getHostname(), managedEntity.getName(), managedEntity.getMOR().getVal()); Map<String,String> attribMap = getCustomAttributes(managedEntity); logger.debug("_[customAttributeName] provisioning attributes specified. Making sure Managed Entity {} has the requested custom attributes", managedEntity.getName()); boolean ok = true; final Map<String, String> customAttributes = request.getCustomAttributesMap(); String attribValue = attribMap.get(StringUtils.removeStart(keyName, "_")); if (attribValue == null) { logger.debug("No custom attribute named {} found for Managed Entity {}", keyName, managedEntity.getName()); ok = false; } else { String value = request.getOldValue(); if (key == null && value == null) { logger.debug("No custom attributes required for provisioning Managed Entity {}.", managedEntity.getName()); return true; logger.error("Not provisioning Manged Entiry {}: Using old key/value parameters, but either 'key' or 'value' parameter isn't set.", managedEntity.getName()); return false; logger.debug("No custom attributes named {} found for Managed Entity {}", key, managedEntity.getName()); return false;
public Task rename_Task(String name) throws InvalidName, DuplicateName, RuntimeFault, RemoteException { ManagedObjectReference taskMor = getVimService().rename_Task(getMOR(), name); return new Task(getServerConnection(), taskMor); }
/** @since SDK4.1 */ public ManagedEntity getParentVApp() { ManagedObjectReference mor = (ManagedObjectReference) getCurrentProperty("parentVApp"); return new ManagedEntity(getServerConnection(), mor); }
log.trace("ManagedEntity " + e.getName() + " with type " + e.getClass() + " attempting to match " + name); if (e instanceof ComputeResource && e.getName().equals(name)){ result = (ComputeResource) e; break; if (e instanceof Folder && e.getName().equals(fName)) { nextFolder = (Folder) e; break; else if (e instanceof Datacenter && e.getName().equals(fName)) { Datacenter datacenter = (Datacenter) e; nextFolder = datacenter.getHostFolder();
public Permission[] retrieveEntityPermissions(ManagedEntity entity, boolean inherited) throws RuntimeFault, RemoteException { if(entity==null) { throw new IllegalArgumentException("entity must not be null."); } return getVimService().retrieveEntityPermissions(getMOR(), entity.getMOR(), inherited); }
for (String fName : folderList) { for (ManagedEntity e : folderResult.getChildEntity()) { log.trace("ManagedEntity " + e.getName() + " with type " + e.getClass() + " attempting to match " + name); if (e instanceof Datacenter && e.getName().equals(name)){ result = (Datacenter) e; break; if (e instanceof Folder && e.getName().equals(fName)) { nextFolder = (Folder) e; break; log.trace("ManagedEntity " + e.getName() + " with type " + e.getClass() + " attempting to match " + name); if (e instanceof Datacenter && e.getName().equals(name)){ result = (Datacenter) e; break;
public void logUserEvent(ManagedEntity entity, String msg) throws RuntimeFault, RemoteException { if(entity==null) { throw new IllegalArgumentException("entity must not be null."); } getVimService().logUserEvent(getMOR(), entity.getMOR(), msg); }