# salt.modules.jboss7_cli

Module for low-level interaction with JbossAS7 through CLI.

This module exposes two ways of interaction with the CLI, either through commands or operations.

Note

Following JBoss documentation (https://developer.jboss.org/wiki/CommandLineInterface): "Operations are considered a low level but comprehensive way to manage the AS controller, i.e. if it can't be done with operations it can't be done in any other way. Commands, on the other hand, are more user-friendly in syntax, although most of them still translate into operation requests and some of them even into a few composite operation requests, i.e. commands also simplify some management operations from the user's point of view."

The difference between calling a command or operation is in handling the result. Commands return a zero return code if operation is successful or return non-zero return code and print an error to standard output in plain text, in case of an error.

Operations return a json-like structure, that contain more information about the result. In case of a failure, they also return a specific return code. This module parses the output from the operations and returns it as a dictionary so that an execution of an operation can then be verified against specific errors.

In order to run each function, jboss_config dictionary with the following properties must be passed:

  - cli_path: the path to jboss-cli script, for example: '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'

  - controller: the IP address and port of controller, for example: 10.11.12.13:9999

  - cli_user: username to connect to jboss administration console if necessary

  - cli_password: password to connect to jboss administration console if necessary

Example:

    jboss_config:
       cli_path: '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
       controller: 10.11.12.13:9999
       cli_user: 'jbossadm'
       cli_password: 'jbossadm'

salt.modules.jboss7_cli.run_command(jboss_config, command, fail_on_error=True)

  Execute a command against jboss instance through the CLI interface.

  jboss_config

    Configuration dictionary with properties specified above.

  command

    Command to execute against jboss instance

  fail_on_error (default=True)

    Is true, raise CommandExecutionError exception if execution fails. If false, 'success' property of the returned dictionary is set to False

  CLI Example:

      salt '*' jboss7_cli.run_command '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_command

salt.modules.jboss7_cli.run_operation(jboss_config, operation, fail_on_error=True, retries=1)

  Execute an operation against jboss instance through the CLI interface.

  jboss_config

    Configuration dictionary with properties specified above.

  operation

    An operation to execute against jboss instance

  fail_on_error (default=True)

    Is true, raise CommandExecutionError exception if execution fails. If false, 'success' property of the returned dictionary is set to False

  retries:

    Number of retries in case of "JBAS012144: Could not connect to remote" error.

  CLI Example:

      salt '*' jboss7_cli.run_operation '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_operation