Skip to content

Instantly share code, notes, and snippets.

@avseng
Created March 6, 2019 12:29
Show Gist options
  • Save avseng/5d94d97737e8cb85248e05d8f507e7b0 to your computer and use it in GitHub Desktop.
Save avseng/5d94d97737e8cb85248e05d8f507e7b0 to your computer and use it in GitHub Desktop.
OIM Service Account Operation
public void getServiceAccount()throws Exception{
loginWithCustomEnv(); //make a connection to OIM
ProvisioningService provAPI = (ProvisioningService)oimClient.getService(ProvisioningService.class);
List<Account> provisionedAccounts = provAPI.getAccountsProvisionedToUser(USR_KEY);
Account acc = null;
for(int i=0; i<provisionedAccounts.size(); i++){
if (provisionedAccounts.get(i).getAccountStatus().equals("Provisioned") && provisionedAccounts.get(i).getAppInstance().getApplicationInstanceName().equals(APP_INST_NAME)){
acc = provisionedAccounts.get(i);
break;
}
}
System.out.println("Service account ::"+ acc.isServiceAccount());
}
public void setServiceAccount() throws Exception{
loginWithCustomEnv(); //make a connection to OIM
ProvisioningService provAPI = (ProvisioningService)oimClient.getService(ProvisioningService.class);
List<Account> provisionedAccounts = provAPI.getAccountsProvisionedToUser(USR_KEY);
Account acc = null;
for(int i=0; i<provisionedAccounts.size(); i++){
if (provisionedAccounts.get(i).getAccountStatus().equals("Provisioned") && provisionedAccounts.get(i).getAppInstance().getApplicationInstanceName().equals(APP_INST_NAME)){
acc = provisionedAccounts.get(i);
break;
}
}
acc.setServiceAccount(true);
provAPI.modify(acc);
System.out.println("done");
}
public void moveServiceAccount()throws Exception{
loginWithCustomEnv(); //make a connection to OIM
ProvisioningService provAPI = (ProvisioningService)oimClient.getService(ProvisioningService.class);
List<Account> provisionedAccounts = provAPI.getAccountsProvisionedToUser(SOURCE_USR_KEY);
Account acc = null;
for(int i=0; i<provisionedAccounts.size(); i++){
if (provisionedAccounts.get(i).getAccountStatus().equals("Provisioned") && provisionedAccounts.get(i).getAppInstance().getApplicationInstanceName().equals(APP_INST_NAME)){
acc = provisionedAccounts.get(i);
break;
}
}
if (acc.isServiceAccount()){
tcUserOperationsIntf userAPI = oimClient.getService(tcUserOperationsIntf.class);
System.out.println("Account ID ::" + acc.getAccountID());
userAPI.moveServiceAccount(Long.parseLong(acc.getAccountID()), TARGET_USR_KEY);
System.out.println("done");
}else{
System.out.println("not a service account");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment