# RapidIdentity Product Guide

#### XML Action Definitions File

The actions included in an adapter are defined by an XML file that MUST contain an actionDefs element that conforms to the following XML pattern:

<actionDefs xmlns="urn:idauto.net:dss:actiondef">
<!--Zero or more repetitions:-->
<actionDef
name="string"
category="string"
builtIn="true"
returnsValue="boolean"
description="string"
sensitive="boolean">
<argDefs>
<!--Zero or more repetitions:-->
<argDef
name="string"
type="string"
description="string"
optional="boolean" />
</argDefs>
<actions>
<action name="return">
<arg value="string"/>
</action>
</actions>
</actionDef>
</actionDefs>


There should be one actionDef element for each action that the adapter exposes, with the following attributes and children:

• <actionDef>

• name=

• category=

• For adapters developed internally by Identity Automation, the category should be set to Core|Adapters|<AdapterName>

• For adapters developed internally by Identity Automation, the category should be set to Core|Adapters|<AdapterName>

• For adapters developed by third parties, the category should be set to Third Party|Adapters|<CompanyName>|<AdapterName>

• builtIn=

• MUST be true

• returnsValue=

• MUST be true if the action returns a value, otherwise must be false

• description=

• short description of what the actions does

• sensitive=

• true if the return value contains sensitive data (e.g. a password) and should not be traced when verbose tracing is enabled, false otherwise

• <argDefs>

• children

• <argDef>

• one for each input argument the action requires

• name=

• MUST start with a letter or underscore and contain only letters, numbers, and underscore

• MUST NOT conflict with any other action name, ECMAScript reserved words, or standard builtin objects

• type=

• one of

• string

• boolean

• number

• enum:choice1,choice2,choice3...

• object

• description=

• short description of the argument

• option=

• true if the argument is options, false or omitted if required

• <actions>

• <action>

• name="return"

• <arg>

• value=

• MUST be \$builtin.<your-dns-domain>.adaptername.actionName(argName1, argName2, …)

Replace <your-dns-domain> in the above argument with the dns domain name of the person or organization developing the adapter.

The XML file can be placed anywhere within the adapter JAR file class directory hierarchy and pointed to by the defResource attribute in the dssmodule.xml file. In the example adapter, the XML Action Definitions File can be found at:  src/main/resources/net/idauto/exodus/dss/adapter/example/example-adapter-actions.xml