# RapidIdentity Product Guide

#### System Actions

Delay a specified number of seconds.

Property

Value

Description

seconds*

expression, variable

the number of seconds

### Example

success = deleteLDAPRecord(ldap, "cn=jdoe,ou=people," +
Global.edirUserBaseDN)
while(!success && ldap.lastResultMessage.contains("-637")) {
# loop and sleep because we just moved the object and it can't
be deleted until the move has replicated everywhere
sleep = delay(2)
if (getShouldTerminate() == true) return null
success = deleteLDAPRecord(ldap, "cn=jdoe,ou=people," +
Global.edirUserBaseDN)
}

Gets the name of the current Action Set.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

currentActionSetName = getCurrentActionSetName()
log("Starting: " + currentActionSetName)
# do some things
log("Ending: " + currentActionSetName)

Creates/Retrieves the IdautoID value for a particular Group in LDAP.

Property

Value

Description

groupDN*

text, expression, variable

the DN of the Group in question

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

id = getIdautoIDForGroup("cn=mygroup,ou=groups,o=data")

Creates/Retrieves the IdautoID value for a particular User in LDAP.

Property

Value

Description

userDN*

text, expression, variable

the DN of the User in question

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

id = getIdautoIDForUser("cn=jdoe,ou=people,o=data")

Gets the id of the current process.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

processID = getProcessID()

Gets the name of the job associated with the current process.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

jobName = getProcessJobName()

Gets the name of the log file associated with the current process.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

logFile = getProcessLogFile()

Gets the name of the operator that started the current process.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

operator = getProcessOperatorName()

Gets the name of the project associated with the current process.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

project = getProcessProject()

Gets the process start time as a Date object.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

startTime = getProcessStartTime()
varNow = now()
log("Process has been running for " + (varNow.getTime() -
startTimegetTime())+ "ms")

Gets the name of the top level Action Set associated with the current process.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

topLevel = getProcessTopLevelActionSetName()

Returns true if the Action Set has been manually aborted or if the node running the Action Set has been flagged to shut down. This action can help an Action Set end cleanly when run manually or as a scheduled job. When an Action Set is terminated without this action included, RapidIdentity may not be able to shut down cleanly.

Property

Value

Description

returnVariable

expression, variable

name of the variable to be assigned to the return value

### Example

iteration = 0
while (iteration <= 40) {
if (true === getShouldTerminate()) {
log("Detected early termination. Perform cleanup here.", "INFO")
break ()
} else {
}
iteration = iteration + 1
log("Iteration " + iteration, "INFO")
log("Calling a web service which delays for 5 seconds", "INFO")
httpGET("https://httpbin.org/delay/5")
if (true === getShouldTerminate()) {
log("Detected early termination. Perform cleanup here.", "INFO")
break ()
} else {
}
log("Delaying for 5 seconds", "INFO")
delay(5)
}