public void createGroup(HostAccountSpec group) throws AlreadyExists, RuntimeFault, RemoteException { getVimService().createGroup(getMOR(), group); }
public void createUser(HostAccountSpec user) throws AlreadyExists, RuntimeFault, RemoteException { getVimService().createUser(getMOR(), user); }
public void updateUser(HostAccountSpec user) throws AlreadyExists, UserNotFound, RuntimeFault, RemoteException { getVimService().updateUser(getMOR(), user); }
public static void main(String[] args) throws Exception { if(args.length != 3) { System.out.println("Usage: java EsxAccountManager <url> " + "<username> <password>"); return; } ServiceInstance si = new ServiceInstance( new URL(args[0]), args[1], args[2], true); HostLocalAccountManager hlam = si.getAccountManager(); if(hlam==null) { System.out.println("This sample works ONLY with ESX. " + "Please try it again."); } //create a new POSIX account HostPosixAccountSpec has = new HostPosixAccountSpec(); has.setId("vimaster"); has.setDescription("The POSIX account for VI Master"); has.setPassword("password"); has.setShellAccess(true); hlam.createUser(has); //create a new group called masters HostAccountSpec grpSpec = new HostAccountSpec(); grpSpec.setId("masters"); // DON'T CALL the following two lines! NOT supported. // grpSpec.setDescription("The Group for VI Masters"); // grpSpec.setPassword("grppass"); hlam.createGroup(grpSpec); //assign the new user to the new group hlam.assignUserToGroup("vimaster", "masters"); //let's check their existence UserDirectory ud = si.getUserDirectory(); UserSearchResult[] usrs = ud.retrieveUserGroups( null, // only local machine is searched "master", // search string null, null, false, //not exact match for the search true, // include users true // include groups ); // print out the results for(int i=0; usrs!=null && i < usrs.length; i++) { System.out.println("\n==============================="); System.out.println("Full name: " + usrs[i].getFullName()); System.out.println("IsGroup:" + usrs[i].isGroup()); System.out.println("Principal: " + usrs[i].getPrincipal()); } //delete the new user and group //Note: you have to delete the user before delete the group hlam.removeUser("vimaster"); hlam.removeGroup("masters"); si.getServerConnection().logout(); }
void createGroup(HostAccountSpec group) throws AlreadyExists, RuntimeFault, RemoteException;
void createUser(HostAccountSpec user) throws AlreadyExists, RuntimeFault, RemoteException;
void updateUser(HostAccountSpec user) throws AlreadyExists, UserNotFound, RuntimeFault, RemoteException;