The Universal Controller Command Line Interface (CLI) is implemented as a set of functions that perform specific actions in a Universal Controller. The results of the actions are written to the CLI standard output.
The CLI command, uagcmd, executes a function according to information specified in its required and optional Global parameters and function-specific parameters.
CLI functions perform specific actions in a Universal Controller.
The CLI command, uagcmd, can execute functions on any system that has TCP/IP connectivity to the Universal Message Service (OMS).
The command line syntax for each execution of uagcmd must specify a single CLI function, required / optional Global parameters, and required / optional function-specific parameters. You must use the required Global parameters to connect to OMS Servers and to log on to a Controller (User ID and Password).
(See Pre-6.2.0.0 CLI Functions for a backward-compatible version of this syntax that can be used for pre-6.2.0.0 CLI functions.)
The following information is provided for each CLI Function:
Functions are listed alphabetically, by category, on the following pages:
The following command line syntax is used for issuing the CLI command, uagcmd:
uagcmd function Global parameters function-specific parameter(s) |
Command Line Entry |
Description |
---|---|
uagcmd |
CLI command that executes all CLI functions. |
CLI function that performs a specific action in a Universal Controller. |
|
CLI parameters (required and optional) available for all functions. |
|
CLI parameters (required and optional) specific to one or more functions. |
For example:
uagcmd ops-task-launch -c config.cfg -x encryptedfile.txt task-type=unix task-name=task01 |
In this example, the required Global Parameters are contained in the config.cfg
configuration file.
For backward-compatibility, you can exclude |
The following restrictions apply to the use of special characters in CLI function parameters.
Special Characters |
Restrictions |
Examples |
---|---|---|
| |
Can be used only if enclosed in double quotation marks. |
C:\Program Files\Universal\OpsCli\bin>uagcmd.exe ops-task-launch -c c.cfg task-name=A|B |
~ |
Cannot be used, even if enclosed in double quotation marks. |
C:\Program Files\Universal\OpsCli\bin>uagcmd.exe ops-task-launch -c c.cfg task-name="A~B" |
= |
Cannot be used, even if enclosed in double quotation marks; prevents a CLI function from running. |
C:\Program Files\Universal\OpsCli\bin>uagcmd.exe ops-task-launch -c c.cfg task-name="A=B" |
+ |
Can be used with or without double quotation marks. |
C:\Program Files\Universal\OpsCli\bin>uagcmd.exe ops-task-launch -c c.cfg task-name="A+B" |
task-variables=
ParameterNone of these special characters identified in Special Characters Restrictions - =, |, +, and ~ - can be use in a task-variables=
parameter.
C:\Program Files\Universal\OpsCli\bin>uagcmd.exe ops-task-launch -c c.cfg task-name=AB task-variables={variable1="V=1" variable2=V2}
Valid format for variables: {variable=value}.
opscmd-complete
C:\Program Files\Universal\OpsCli\bin>uagcmd.exe ops-task-launch -c c.cfg task-name=AB task-variables={variable1="V|1" variable2=V2}
Valid format for variables: {variable=value}.
opscmd-complete
C:\Program Files\Universal\OpsCli\bin>uagcmd.exe ops-task-launch -c c.cfg task-name=AB task-variables={variable1="V+1" variable2=V2}
Valid format for variables: {variable=value}.
opscmd-complete
C:\Program Files\Universal\OpsCli\bin>uagcmd.exe ops-task-launch -c c.cfg task-name=AB task-variables={variable1="V~1" variable2=V2}
Parameter CMDVERB contains malformed name/value pair(s).
opscmd-complete
For backward-compatibility, you can exclude uagcmd from the command line for all pre-6.2.0.0 CLI functions:
The following table identifies all return codes that can be returned in response to a function:
Return Code |
Description |
---|---|
0 |
Completed successfully. |
1 |
Configuration error (incorrect command line or configuration file entries). |
2 |
Error processing the request. |
For all supported platforms, the CLI is included in the Universal Agent 7.2.x package.
UNIX |
The CLI functions are installed in the following directory:
Replace |
|
---|---|---|
Windows |
The CLI functions are installed in the following directory:
Replace:
|
|
z/OS |
The CLI is implemented with a single program, |
You can be restricted from logging in to the CLI either of two ways:
If either restriction is in place, the following error message will display when you issue a CLI command:
User <your user name> not permitted to use the command line interface. Please check with your administrator. |
To remove the restriction, the system administrator must either:
While a password is expired, CLI access will be prohibited until the password has been changed.
Password expiration is not applicable to LDAP authenticated users. |
The CLI provides the following Global parameters for use with any CLI function:
Parameter |
Required |
Optional |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Message Level |
![]() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SSL/TLS Cipher List |
![]() |
|
SSL/TLS 1.3 Cipher Suites |
![]() |
|
SSL/TLS Implementation |
![]() |
|
SSL/TLS Minimum Protocol Version |
![]() |
|
SSL/TLS Maximum Protocol Version |
![]() |
|
|
|
|
|
|
|
|
|
The following information is provided below for each Global parameter:
Three methods are available for specifying Global parameters:
Each method is available only for some Global parameters; only a command line switch is available for each Global parameter. |
Description |
Trusted CA certificate list in PEM format. DD Name / Dataset Name / HFS File Name for z/OS; file path for other platforms. |
---|---|
Platforms | All |
Configuration File Entry |
ssl.certstore= |
Command Line Switch |
-a |
Environment Variable |
n/a |
Required |
No |
Default |
(none) |
Example |
|
Description |
Configuration file containing one or more Global parameters. It can include the required User ID, Password, and OMS Servers Global parameters.
|
||
---|---|---|---|
Platforms | All | ||
Configuration File Entry |
n/a |
||
Command Line Switch |
-c |
||
Environment Variable |
n/a |
||
Required |
No |
||
Default |
(none) |
||
Example |
|
Description |
CRL file in PEM format. DD Name / Dataset Name / HFS File Name for z/OS; file path for other platforms. |
---|---|
Platforms | All |
Configuration File Entry |
ssl.crlfile= |
Command Line Switch |
-e |
Environment Variable |
n/a |
Required |
No |
Default |
(none) |
Example |
UNIX
Windows
z/OS
|
Description |
Complete path to a file encrypted with the Universal Encrypt utility that contains encrypted user credentials.
|
|
---|---|---|
Platforms | All | |
Configuration File Entry |
n/a |
|
Command Line Switch |
-x |
|
Environment Variable |
n/a |
|
Required |
No |
|
Default |
(none) |
|
Example |
UNIX
Windows
z/OS
|
Description |
Optional key that was passed to the Universal Encrypt utility when the encrypted file specified by -x was created. |
---|---|
Platforms | All |
Configuration File Entry |
n/a |
Command Line Switch |
-k |
Environment Variable |
n/a |
Required |
No |
Default |
(none) |
Example |
|
Description |
Provides help information for any function. |
---|---|
Platforms | All |
Configuration File Entry |
n/a |
Command Line Switch |
-h | -? |
Environment Variable |
n/a |
Required |
No |
Default |
(none) |
Example |
-h |
This parameter is exclusive; do not use it with any other parameter. If you do, only the Help information will be returned. |
Description |
Message level to use. The only supported value is:
|
---|---|
Platforms | All |
Configuration File Entry |
- |
Command Line Switch |
-l value |
Environment Variable |
n/a |
Required |
No |
Default |
Do not use trace. |
Example |
-l trace |
Description |
Specification (yes or no) for whether or not to use NFT (network fault tolerance) for OMS. A uagcmd command execution will attempt to connect to each specified OMS Server. If no connection can be made, uagcmd will fail with a non-zero exit code (2). If a network error occurs after a connection to an OMS server is made, the uagcmd will fail with a non-zero exit code (2). |
---|---|
Platforms | All |
Configuration File Entry |
network.omsnft= |
Command Line Switch |
-f |
Environment Variable |
OMSNFT |
Required |
No |
Default |
yes |
Example |
|
Description |
Specifies one or more OMS server addresses used for network communication.
If multiple OMS servers are specified, they must be comma-separated. |
---|---|
Platforms | All |
Configuration File Entry |
network.omsservers= |
Command Line Switch |
-m |
Environment Variable |
OMSSERVERS |
Required |
Yes |
Default |
|
Example |
network.omsservers=7878@dallas01.acme.com,7878@dallas02.acme.com |
Description |
Password that the CLI will use to log into the Controller. Must be a valid password for this user. |
---|---|
Platforms | All |
Configuration File Entry |
security.password= |
Command Line Switch |
-p |
Environment Variable |
n/a |
Required |
Yes |
Default |
(none) |
Example |
o |
Description |
Controller queue name. Must be default for normal set-up. |
---|---|
Platforms | All |
Configuration File Entry |
network.core= |
Command Line Switch |
-n |
Environment Variable |
HUBNAME |
Required |
No |
Default |
ops.controller.queue |
Example |
queue02 |
Description |
Specification (by its inclusion on the command line) for whether or not to enable SSL/TLS. Valid values for the configuration file entry are:
|
---|---|
Platforms | All |
Configuration File Entry |
ssl.enable= |
Command Line Switch |
-s |
Environment Variable |
n/a |
Required |
No |
Default |
no |
Example |
-s |
Description |
Colon-separated or comma-separated list of allowed SSL/TLS ciphers.
The following ciphers are allowed:
|
|
---|---|---|
Platforms | All | |
Configuration File Entry |
ssl.ciphers= |
|
Command Line Switch |
-g value |
|
Environment Variable |
n/a |
|
Required |
No |
|
Default |
no |
|
Example |
-g AES256-SHA,AES128-SHA |
Description |
Colon-separated or comma-separated list of allowed SSL/TLS 1.3 ciphers. The following ciphers are allowed:
|
---|---|
Platforms | All |
Configuration File Entry |
ssl.cipher_suites= |
Command Line Switch |
-q value |
Environment Variable |
n/a |
Required |
No |
Default |
no |
Example |
-g TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256 |
Description |
Specification for which SSL/TLS implementation to use on z/OS. Supported values are:
|
---|---|
Platforms | z/OS |
Configuration File Entry |
ssl.implementation= |
Command Line Switch |
-i value |
Environment Variable |
n/a |
Required |
No |
Default |
(none) |
Example |
-i openssl |
Description |
Restricts the minimal SSL/TLS protocol version allowed in SSL/TLS session negotiation to the value specified. Supported values are :
|
---|---|
Platforms | All |
Configuration File Entry |
ssl.min_protocol= |
Command Line Switch |
-d value |
Environment Variable |
n/a |
Required |
No |
Default |
tls1_2 |
Example |
-d tls1_0 |
Description |
Restricts the maximum SSL/TLS protocol version allowed in SSL/TLS session negotiation to the value specified. Supported values are :
|
---|---|
Platforms | All |
Configuration File Entry |
ssl.max_protocol= |
Command Line Switch |
-d value |
Environment Variable |
n/a |
Required |
No |
Default |
tls1_2 |
Example |
-d tls1_3 |
Description |
Time (in seconds) that the CLI will wait before it reports an error. |
---|---|
Platforms | All |
Configuration File Entry |
config.timeout= |
Command Line Switch |
-o |
Environment Variable |
n/a |
Required |
No |
Default |
60 |
Example |
10 |
Description |
User ID that the CLI will use to log into the Controller. Must be a valid user with the appropriate permissions defined in the Controller database using the Controller Security module. |
---|---|
Platforms | All |
Configuration File Entry |
security.userid= |
Command Line Switch |
-u |
Environment Variable |
n/a |
Required |
Yes |
Default |
(none) |
Example |
ops.admin |
Description |
Displays version information for the CLI. |
---|---|
Platforms | All |
Configuration File Entry |
n/a |
Command Line Switch |
-v |
Environment Variable |
n/a |
Required |
No |
Default |
(none) |
Example |
-v |
If this parameter is specified, all other parameters (except Help) are ignored. |
Most functions contain one or more required and/or optional parameters that are specific to one or more functions.
Some function-specific parameters let you modify variables.
Currently, the CLI only supports the modification of User-Defined Variables: global variables, trigger variables, and task/workflow variables.
Modifying a task variable does not impact any existing task instances of that task. When the next task instance is created from the updated task, the new task instance will use the updated variable.
To modify a variable in a task or workflow, you can create a Set Variable action.
All CLI functions are supported in the z/OS environment. They are managed and executed by the program UAGCMDZ (with alias OPSCMDZ), which may execute as either a command processor or a standard z/OS batch job. UAGCMDZ is installed with the z/OS agent in library SUNVLOAD.
The functions and syntax requirements for the z/OS environment are very similar to the other supported platforms with a few exceptions described below.
IBM’s z/OS Language Environment (LE) interprets the first forward slash (/) in a parameter string as a separator between parameters meant for LE and parameters meant for the program being executed. To avoid confusion, parameters which contain a forward slash should be enclosed in double quotes. For instance agent-type=z/OS should be agent-type=”z/OS”. |
When UAGCMDZ is executed as a batch program, command line parameters are specified with the step PARM keyword.
For example:
//STEP01 EXEC PGM=UAGCMDZ, // PARM='ops-agent-status -c dd:CMDOPTS agent-type=windows' |
If you use the -a, -c, -e, and -x command line switches for specifying a file on the command line, you must use one of the following formats for the file name.
For example, for the -c (Configuration File) command line switch:
Format |
Syntax |
Description |
---|---|---|
DD Name |
|
|
Dataset Name |
|
|
HFS File Name | -c “/path/to/file/fname” |
A fully-qualified path to a file located on the hierarchical z/OS Unix File System, where |
Do not place line numbers in columns 73-80. The entire 80-byte record is read and processed as input.
Three methods are available for running UAGCMDZ and executing CLI functions:
In each example where data sets are specified, we use:
UNV.SUNVLOAD |
Library containing the CLI programs UAGCMDZ (and OPSCMDZ alias). |
---|---|
USER.PARM |
Data set containing command options. |
USER.REXX |
Data set containing user REXX EXECs. |
The CLI program UAGCMDZ executes a single function as a JCL batch job step. If multiple functions are to be executed, run each one as an individual job step.
The following example illustrates running UAGCMDZ as a batch job to request the status of all Windows Agents.
//jobname JOB (acctg-info),'your name',MSGCLASS=X,MSGLEVEL=(1,1), // CLASS=A,NOTIFY=&SYSUID //* //STEP01 EXEC PGM=UAGCMDZ, // PARM='ops-agent-status -c dd:CMDOPTS agent-type=windows' //STEPLIB DD DISP=SHR,DSN=UNV.SUNVLOAD //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //CMDOPTS DD DSN=USER.PARM(CMDOPTS),DISP=SHR //CEEDUMP DD SYSOUT=* |
In this example:
The step PARM value specifies the CLI function and its options.
The job step can include only one function.
The STEPLIB points to the z/OS Agent load library.
The output will be in SYSPRINT.
CMDOPTS is a DDNAME that references the location of the function parameters.
You can also issue CLI functions under a TSO session.
The sample command string below shows a CLI function issued from an ISPF Command Shell prompt:
Enter TSO or Workstation functions below: ===> uagcmdz ops-agent-status -c "//'USER.PARM(CMDOPTS)'" agent-type=windows |
This function will return data similar to the sample below:
Agentname AgentType Status agent-sys00101 Windows Active agent-sys00201 Windows Offline opscmd-complete |
The following two examples show how to issue a CLI function in a batch TSO.
//CMDZBAT JOB (acctg-info),'your name',MSGCLASS=X,MSGLEVEL=(1,1), // CLASS=A,NOTIFY=&SYSUID,TIME=5 //* //STEP01 EXEC PGM=IKJEFT01,DYNAMNBR=200,REGION=40M //STEPLIB DD DISP=SHR,DSN=UNV.SUNVLOAD //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //CMDOPTS DD DSN=USER.PARM(CMDOPTS),DISP=SHR //SYSTSIN DD * uagcmdz ops-agent-status -c dd:CMDOPTS agent-type=windows /* |
Output will be in SYSTSPRT.
//REXXAGNT JOB (acctg-info),'your name',MSGCLASS=X,MSGLEVEL=(1,1), // CLASS=A,NOTIFY=&SYSUID,TIME=5 //* //STEP01 EXEC PGM=IKJEFT01,DYNAMNBR=200,REGION=40M //STEPLIB DD DISP=SHR,DSN=UNV.SUNVLOAD //SYSEXEC DD DSN=USER.REXX,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //CMDOPTS DD DSN=USER.PARM(CMDOPTS),DISP=SHR //SYSTSIN DD * %OUTTRAP1 /* |
The following REXX EXEC must be located in USER.REXX(OUTTRAP1):
/**************************** REXX *********************************/ /* Using OUTTRAP to */ /* (1) Obtain z/OS agent status */ /* (2) Test status from the response */ /* (3) Launch a task if the agent status is Active */ /*******************************************************************/ x = OUTTRAP('OPS.') uagcmdz "ops-agent-status -c dd:CMDOPTS agent-type=""z/OS""" SAY 'RC is:' RC SAY OPS.0 'records were read.' launch = 'NO' DO i = 1 to OPS.0 WHILE launch = 'NO' IF SUBSTR(OPS.i,61,6) = 'Active' THEN DO launch = 'YES' uagcmdz "ops-task-launch -c dd:CMDOPTS task-name=DUMPT" END END DO i = 1 to OPS.0 SAY OPS.i END y = OUTTRAP('OFF') |