2262N/A<?
xml version="1.0" encoding="UTF-8" standalone="no"?>
2262N/A ! The contents of this file are subject to the terms of the 2262N/A ! Common Development and Distribution License, Version 1.0 only 2262N/A ! (the "License"). You may not use this file except in compliance 2262N/A ! You can obtain a copy of the license at 2262N/A ! See the License for the specific language governing permissions 2262N/A ! and limitations under the License. 2262N/A ! When distributing Covered Code, include this CDDL HEADER in each 2262N/A ! file and include the License file at 2262N/A ! add the following below this CDDL HEADER, with the fields enclosed 2262N/A ! by brackets "[]" replaced with your own identifying information: 2262N/A ! Portions Copyright [yyyy] [name of copyright owner] 3233N/A ! Copyright 2007-2008 Sun Microsystems, Inc. 2262N/A <!-- This function uses make ldif to generate LDIF data files --> 2262N/A <
function name="MakeLdifWithScript">
2262N/A This function uses make ldif to generate LDIF data files
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="version" type="optional">
<
function-
arg-
description>
Display Directory Server version information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="templateFile" type="optional">
<
function-
arg-
description>
Path to the template file
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="ldifFile" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="randomSeed" type="optional">
<
function-
arg-
description>
The seed to use to initialize the random number generator
</
function-
arg-
description>
<
function-
arg-
property name="type" value="integer"/>
<
function-
arg-
def name="Help" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="help" value="option"/>
<
function-
arg-
def name="expectedRC" type="optional" default="0">
<
function-
arg-
description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</
function-
arg-
description>
<
function-
arg-
def name="knownIssue" type="optional" default="None">
<
function-
arg-
description>
Known issue. Corresponds to an issue number.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string" />
<!-- Build the Command --> dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmdParams=' '.join(STAFCmdParamsList)
<
call function="'runCommand'">
{ 'name' : 'Make Ldif Script',
'arguments' : STAFCmdParams,
'expectedRC': expectedRC,
<
return>STAXResult</
return>
<!-- This function uses make ldif to generate LDIF data files --> <
function name="MakeAMakeLdifTemplate">
This function makes a make-ldif template file
<
function-
arg-
def name="numEntries" type="required">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="templateFile" type="required">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="extraLine" type="optional">
<
function-
arg-
description>
Extra line to add to the mkae-ldif template
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<!-- Build the import task configuration object --> ldifLines.append('description: This is the description for user.{employeeNumber}.')
<!-- Write out the make-ldif template file --> outfile = open(templateFile,"w")
<
if expr="STAXCode != 0">
<
message level="'error'">
'creation of a make-ldif template failed (Code=%s,Reason=%s).' % (STAXCode,STAXReason)
<
call function="'checktestRC'">
{ 'returncode' : STAXCode ,
<
return>[STAXCode, STAXReason]</
return>
<!-- This function compares two LDIF files using the ldif-diff script --> <
function name="LdifDiffWithScript">
This function compares two LDIF files and reports the differences in LDIF format
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="version" type="optional">
<
function-
arg-
description>
Display Directory Server version information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="sourceLdif" type="required">
<
function-
arg-
description>
LDIF file to use as the source data
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="targetLdif" type="required">
<
function-
arg-
description>
LDIF file to use as the target data
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="outputLdif" type="required">
<
function-
arg-
description>
File to which the diffs should be written
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="overwriteExisting" type="optional" default="True">
<
function-
arg-
description>
Overwrite existing output file rather than append to it
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="singleValueChanges" type="optional">
<
function-
arg-
description>
Write each attribute-level change as a separate modification
per attribute value rather than one modification per entry
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="Help" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="help" value="option"/>
<!-- Build the Command --> dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmdParams=' '.join(STAFCmdParamsList)
'Running command:\n %s %s\nlocation: %s\nworkdir: %s' \
% (STAFCmd,STAFCmdParams,location,dsBinPath)
<
process name="'LDIF Diff Script'">
<
location>location</
location>
<
command>STAFCmd</
command>
<
parms>STAFCmdParams</
parms>
<
workdir>dsBinPath</
workdir>
['PATH=/bin:/
usr/
bin:%s' % dsBinPath, 'JAVA_HOME=%s' % JAVA_HOME]
<
stderr mode="'stdout'"/>
<
returnfile>outputLdif</
returnfile>
diffsInfo = STAXReason[1]
if (diffsInfo[0] == 0) and (
diffs.startswith("# No differences were detected between the source and target LDIF files")) :
<
return> diffRC </
return>
<!-- This function modifies an LDIF file using ldifmodify script --> <
function name="LdifModifyWithScript">
This function modifies an LDIF file with the changes contained in another LDIF file
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="version" type="optional">
<
function-
arg-
description>
Display Directory Server version information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="sourceLdif" type="required">
<
function-
arg-
description>
LDIF file containing the data to be updated
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="targetLdif" type="required">
<
function-
arg-
description>
LDIF file that will contain the updated data
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="changesLdif" type="required">
<
function-
arg-
description>
LDIF file containing the changes to apply
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="Help" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="help" value="option"/>
<
function-
arg-
def name="expectedRC" type="optional" default="0">
<
function-
arg-
description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</
function-
arg-
description>
<
function-
arg-
def name="knownIssue" type="optional" default="None">
<
function-
arg-
description>
Known issue. Corresponds to an issue number.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string" />
<!-- Build the Command --> dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmdParams=' '.join(STAFCmdParamsList)
<
call function="'runCommand'">
{ 'name' : 'LDIF Modify Script',
'arguments' : STAFCmdParams,
'expectedRC': expectedRC,
<
return>STAXResult</
return>
<
function name="verifyTrees">
This function verifies that the trees in a group of ldap servers are
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="referenceServer" type="required">
<
function-
arg-
description>
Server that should be taken as reference.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="Server"/>
<
function-
arg-
def name="serverList" type="required">
<
function-
arg-
description>
List of the servers to verify against the referenceServer.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="Server-list"/>
<
function-
arg-
def name="treeSuffix" type="required">
<
function-
arg-
description>
Suffix of the tree to verify.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="DN"/>
'Verify tree %s taking %s as reference.' \
% (treeSuffix, referenceServerPath)
<!-- Retrieve the tree from the reference server --> <
call function="'ldapSearchWithScript'">
'dsFilter' : 'objectclass=*',
'outputFile' : referenceTree
<!-- If the reference tree could not be retrieved, return an error --> <
return> [1, None] </
return>
<
iterate var="server" in="serverList">
<!-- Retrieve the same tree for every other server in the list --> <
call function="'ldapSearchWithScript'">
'dsFilter' : 'objectclass=*',
'outputFile' : sampleTree,
<!-- Compare this tree to the reference one --> <
call function="'LdifDiffWithScript'">
'sourceLdif' : '%s/../%s' % (dsPath, sampleTree),
'targetLdif' : '%s/../%s' % (dsPath, referenceTree),
'outputLdif' : '%s/../%s' % (dsPath, treeDiffs)
<
if expr="len(failedServers) > 0">
<!-- If at least one server failed to successfully compare to the ! reference tree, return an error, along with the list of the ! servers that failed to do so --> 'List of non-synchronized servers (tree verify FAILED): %s ' \
'All servers synchronized (tree verify SUCCEEDED).'
<
call function="'checktestRC'">
'result' : failingServerList,
<
return>[myRC, failedServers]</
return>
<
function name="verifySchemas">
This function verifies that a schema file is synchronized all over a group of servers.
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="referenceServer" type="required">
<
function-
arg-
description>
Server that should be taken as reference.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="Server"/>
<
function-
arg-
def name="serverList" type="required">
<
function-
arg-
description>
List of the servers to verify against the referenceServer.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="Server-list"/>
<
function-
arg-
def name="schemaFile" type="required">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
referenceSchema = '%
s/
config/
schema/%s' % (referenceServerPath, schemaFile)
'Verify schema file %s taking %s as reference.' % (schemaFile, referenceServerPath)
<
iterate var="server" in="serverList">
<!-- Copy reference schema file to other server --> <
call function="'copyFile'">
'srcfile' : referenceSchema,
<!-- Compare this schema to the reference one --> <
call function="'LdifDiffWithScript'">
<
if expr="len(failedServers) > 0">
<!-- If at least one server failed to successfully compare to the reference tree, ! return an error, along with the list of the servers that failed to do so --> failingServerList = 'List of non-synchronized servers (schema verify FAILED): %s ' %
comma.join(failedServers)
'All servers synchronized (schema verify SUCCEEDED).'
<
call function="'checktestRC'">
'result' : failingServerList ,
<
return>[myRC, failedServers]</
return>
<
function name="deleteTrees">
This function deletes a (sub)tree from a list of servers.
<
function-
arg-
def name="serverList" type="required">
<
function-
arg-
description>
List of the servers (instances of "Server" class) where the tree will be deleted.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="Server-list"/>
<
function-
arg-
def name="treeSuffix" type="required">
<
function-
arg-
description>
Suffix of the tree to delete.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="DN"/>
<
function-
arg-
def name="startDS" type="optional" default="True">
<
function-
arg-
description>
Need to start the Directory Servers before deleting.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="boolean"/>
<!-- Start the servers in the list --> <
call function="'startServers'">
<!-- Delete the tree in every server in the list --> <
paralleliterate var="server" in="serverList">
<!-- Delete suffix and subtree --> <
call function="'ldapDeleteWithScript'">
<!-- Stop the servers in the list --> <
call function="'stopServers'">
<
function name="startServers">
This function starts a list of servers.
<
function-
arg-
def name="serverList" type="required">
<
function-
arg-
description>
List of the servers (instances of "Server" class) to be started.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="Server-list"/>
<!-- Start the servers in the list --> <
paralleliterate var="server" in="serverList">
<
call function="'StartDsWithScript'">
<!--- Check that DS started --> <
call function="'isAlive'">
'noOfMilliSeconds' : 2000
<
function name="stopServers">
This function stops a list of servers.
<
function-
arg-
def name="serverList" type="required">
<
function-
arg-
description>
List of the servers (instances of "Server" class) to be stopped.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="Server-list"/>
<!-- Stop the servers in the list --> <
paralleliterate var="server" in="serverList">
<
call function="'StopDsWithScript'">
<!-- This function perform a search operation in a LDIF file --> <
function name="ldifSearchWithScript" scope="local">
This function perform a search operation in a LDIF file
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="dsBaseDN" type="optional">
<
function-
arg-
description>
The baseDN for the search operation
</
function-
arg-
description>
<
function-
arg-
property name="type" value="dn"/>
<
function-
arg-
def name="dsFilterFile" type="optional">
<
function-
arg-
description>
File containing a list of search filter strings
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="dsLdifFile" type="required">
<
function-
arg-
description>
LDIF file to use as the source data
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="dsOutputFile" type="optional">
<
function-
arg-
description>
File to which the search results should be written
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="dsOverwriteExisting" <
function-
arg-
description>
Overwrite the output file specified
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="dsSearchScope" type="optional">
<
function-
arg-
description>
The scope of the search operation
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsTimeLimit" type="optional">
<
function-
arg-
description>
Maximum length of time in seconds to allow for the search
</
function-
arg-
description>
<
function-
arg-
property name="type" value="integer"/>
<
function-
arg-
def name="dsSizeLimit" type="optional">
<
function-
arg-
description>
Maximum number of entries to return from the search
</
function-
arg-
description>
<
function-
arg-
property name="type" value="integer"/>
<
function-
arg-
def name="dsDontWrap" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsHelp" type="optional">
<
function-
arg-
description>
Display this usage information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsVersion" type="optional">
<
function-
arg-
description>
Display Directory Server version information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsFilter" type="optional">
<
function-
arg-
description>
The filter for the search operation
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filter"/>
<
function-
arg-
def name="dsAttributes" type="optional">
<
function-
arg-
description>
Only return these attributes
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="expectedRC" type="optional" default="0">
<
function-
arg-
description>
Expected return code value. Default value is 0
Wildcard 'noCheck' to not check the RC
</
function-
arg-
description>
<
function-
arg-
property name="type" value="integer"/>
<!-- Build the Command --> dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmdParams=' '.join(STAFCmdParamsList)
<
call function="'runCommand'" >
'name' : 'LDIF Search Script',
'arguments' : STAFCmdParams,
'expectedRC' : expectedRC
<
return>STAXResult</
return>
<!-- This function execute the encode-password tool --> <
function name="encodePasswordWithScript" scope="local">
This function execute the encode-password tool
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="authPwdSyntax" type="optional">
<
function-
arg-
description>
Use the authentication password syntax.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="clearPwd" type="optional">
<
function-
arg-
description>
Specify the clear-text password.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="encodedPwd" type="optional">
<
function-
arg-
description>
Specify the encoded password.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="encodedPwdFile" type="optional">
<
function-
arg-
description>
Use the encoded password from the specified file.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="clearPwdFile" type="optional">
<
function-
arg-
description>
Use the clear-text password from the specified file.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="listSchemes" type="optional">
<
function-
arg-
description>
Display a list of the password storage schemes that are available
for use in the OpenDS server.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="useCmpRC" type="optional">
<
function-
arg-
description>
Use an exit code that indicates whether a given clear-text password
matched a provided encoded password.
Results are an exit code of 6 (COMPARE_TRUE) or
an exit code of 5 (COMPARE_FALSE).
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="storageScheme" type="optional">
<
function-
arg-
description>
Specify the name of the password storage scheme to use when
encoding a clear-text password.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsHelp" type="optional">
<
function-
arg-
description>
Display this usage information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsVersion" type="optional">
<
function-
arg-
description>
Display Directory Server version information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="expectedRC" type="optional" default="0">
<
function-
arg-
description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</
function-
arg-
description>
<
function-
arg-
property name="type" value="integer"/>
<!-- Build the Command --> dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmdParams=' '.join(STAFCmdParamsList)
<
call function="'runCommand'">
'name' : 'Encode password script',
'arguments' : STAFCmdParams,
'expectedRC' : expectedRC
<
return>STAXResult</
return>
<!-- This function compares two LDIF files using the ldif-diff script --> <
function name="LdifDiffWithScript-new" scope="local">
This function compares two LDIF files and reports the differences
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="dsVersion" type="optional">
<
function-
arg-
description>
Display Directory Server version information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="sourceLdif" type="required">
<
function-
arg-
description>
LDIF file to use as the source data
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="targetLdif" type="required">
<
function-
arg-
description>
LDIF file to use as the target data
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="outputLdif" type="required">
<
function-
arg-
description>
File to which the diffs should be written
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="overwriteExisting" type="optional" default="True">
<
function-
arg-
description>
Overwrite existing output file rather than append to it
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="singleValueChanges" type="optional">
<
function-
arg-
description>
Write each attribute-level change as a separate modification
per attribute value rather than one modification per entry
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsHelp" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="help" value="option"/>
<
function-
arg-
def name="expectedRC" type="optional" default="0">
<
function-
arg-
description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</
function-
arg-
description>
<
function-
arg-
property name="type" value="integer"/>
<
function-
arg-
def name="knownIssue" type="optional" default="None">
<
function-
arg-
description>
Known issue. Corresponds to an issue number.
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string" />
<!-- Build the Command --> dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmdParams=' '.join(STAFCmdParamsList)
<
call function="'runCommand'">
'name' : 'Ldif diff script',
'arguments' : STAFCmdParams,
'expectedRC' : expectedRC ,
'knownIssue' : knownIssue
<
return>STAXResult</
return>
<!-- This function execute the dsjavaproperties tool --> <
function name="dsJavaPropertiesWithScript" scope="local">
This function execute the dsjavaproperties tool
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname"/>
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath"/>
<
function-
arg-
def name="Version" type="optional">
<
function-
arg-
description>
Display Directory Server version information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="Quiet" type="optional">
<
function-
arg-
description>
Run dsjavaproperties in quiet mode
Quiet mode does not output progress information to standard output
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="Help" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="help" value="option"/>
<
function-
arg-
def name="expectedRC" type="optional" default="0">
<
function-
arg-
description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</
function-
arg-
description>
<
function-
arg-
property name="type" value="integer"/>
<!-- Build the Command --> dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmdParams=' '.join(STAFCmdParamsList)
<
call function="'runCommand'">
'name' : 'dsjavaproperties script',
'arguments' : STAFCmdParams,
'expectedRC' : expectedRC
<
return>STAXResult</
return>
<!-- This function uses manage-account to manage users account--> <
function name="manageAccountWithScript">
This function uses manage-account to manage users account
<
function-
arg-
def name="location" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname" />
<
function-
arg-
def name="dsPath" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<
function-
arg-
description>
Pathname to installation root
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filepath" />
<
function-
arg-
def name="dsInstanceHost" default="STAF_REMOTE_HOSTNAME">
<
function-
arg-
description>
Directory server hostname or IP address
</
function-
arg-
description>
<
function-
arg-
property name="type" value="hostname" />
<
function-
arg-
def name="dsInstanceAdminPort" default="DIRECTORY_INSTANCE_ADMIN_PORT">
<
function-
arg-
description>
Directory server admin port number
</
function-
arg-
description>
<
function-
arg-
property name="type" value="Port number" />
<
function-
arg-
def name="dsInstanceDn" type="required">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="DN" />
<
function-
arg-
def name="targetDn" type="required">
<
function-
arg-
description>
Specifies the DN of the user entry for which to get and set password
</
function-
arg-
description>
<
function-
arg-
property name="type" value="dn"/>
<
function-
arg-
def name="dsInstancePswd" type="required">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string" />
<
function-
arg-
def name="dsBindPasswordFile" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="subcommand" type="required">
<
function-
arg-
description>
manage-account subcommand to execute
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string" />
<
function-
arg-
def name="expectedRC" type="optional" default="0">
<
function-
arg-
description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string" />
<
function-
arg-
def name="Help" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="help" value="option"/>
<
function-
arg-
def name="dsVersion" type="optional">
<
function-
arg-
description>
Display Directory Server version information
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsCertNickname" type="optional">
<
function-
arg-
description>
Nickname of certificate for SSL client authentication
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="dsKeyStorePath" type="optional">
<
function-
arg-
description>
Certificate keystore path
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="dsSaslOption" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="dsTrustStorePath" type="optional">
<
function-
arg-
description>
Certificate trust store path
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="dsUseStartTLS" type="optional">
<
function-
arg-
description>
Use StartTLS to secure communication with the server
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsTrustStorePassword" type="optional">
<
function-
arg-
description>
Certificate trust store PIN
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="dsTrustStorePasswordFile" type="optional">
<
function-
arg-
description>
Certificate trust store PIN file
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="dsKeyStorePasswordFile" type="optional">
<
function-
arg-
description>
Certificate keystore PIN file
</
function-
arg-
description>
<
function-
arg-
property name="type" value="filename"/>
<
function-
arg-
def name="dsKeyStorePassword" type="optional">
<
function-
arg-
description>
</
function-
arg-
description>
<
function-
arg-
property name="type" value="string"/>
<
function-
arg-
def name="dsUseSSL" type="optional">
<
function-
arg-
description>
Use SSL for secure communication with the server
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsTrustAll" type="optional">
<
function-
arg-
description>
Trust all server SSL certificates
</
function-
arg-
description>
<
function-
arg-
property name="type" value="option"/>
<
function-
arg-
def name="dsOperationValue" type="optional">
<
function-
arg-
description>
dsOperationValue is true or false
</
function-
arg-
description>
<
function-
arg-
property name="type" value="boolean"/>
<!-- Build the Command --> dsBinPath='%s/%s' % (dsPath,fileFolder)
if dsTrustStorePasswordFile:
if dsKeyStorePasswordFile:
STAFCmdParams=' '.join(STAFCmdParamsList)
<
call function="'runCommand'" >
{ 'name' : 'Manage-account script',
'arguments' : STAFCmdParams,