Skip to main content

Determining implementers

You can assign any user as an implementer for a resource request. Implementers who are also authorizers may have permission to approve requests and assign resources. Depending on their access rights (ACLs), they may be able to modify some profile and request attributes if, for example, values are not known until the request is being fulfilled.

You can assign implementers in the Resource operations tab for target systems, managed groups, or template accounts.

Alternatively, you can determine implementers dynamically by configuring a plugin.

To use a plugin to assign implementers to resources:

  1. Log in to the Manage the system (PSA) module and click Workflow > Options > Plugins .

  2. Type the name of the plugin in the IDSYNCH IMPLEMENTER PLUGIN field.

  3. Click Update at the bottom of the page.

There are no shipped plugins for use with this plugin point. A sample script, implementer.psl , is included in the samples\* directory.

Requirements

The input/output requirements are similar to the authorizer list plugin. See Writing plugins for general requirements.

Execution points

The plugin is run by the Workflow monitor service (idwfm) .

Input

Input passed to the plugin is as follows:

"" "" = {
  "currentresource" = "<resource ID>" # resource ID to be evaluated by the plugin
  "request" "" = { ... } # Request data
  "requester" "user" = { ... } # Requester's data
         
  "recipient" "user" = { ... } # Recipient's data
         
} 

Output

The output is returned in the following format:

"" "" = {
  "RunAgainInSecs" = "<N>" # Optional - Secs to wait before running again
  "errmsg" = ""
  "retval" = "0 | <N>" # 0 = success !0 = fail
  "resource" "<resource signature>" = {
    "extras" = "false|true"
  # false = only use implementers specified
  # true = use in addition to implementers already specified
    "implementer" = "<implementer ID>"
         
    "implementer" = "<implementer ID>"
  }
} 

For example:

"" "" = {
  "errmsg" = ""
  "retval" = "0"
  "resource" "4F12FA11531BCBC574BC4C4295D4872E" = {
    "extras" = "false"
    "implementer" = "bob"
    "implementer" = "frank"
  }
}