%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/modules/jboss7.pyo

�
���^c@@svdZddlmZmZmZddlZddlZddljj	Z	ddl
mZddlm
Z
eje�Zidd6Zddd�Zdd	�Zdd
�Zdd�Zd�Zd
�Zd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Z dd�Z!dd�Z"d�Z#dd�Z$d�Z%d�Z&d�Z'dS(u�
Module for managing JBoss AS 7 through the CLI interface.

.. versionadded:: 2015.5.0

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:

.. code-block:: yaml

   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'

i(tabsolute_importtprint_functiontunicode_literalsN(tSaltInvocationError(tsixureloadureload_c	C@s�tjd�|dkr.|dkr.d}n?|dk	ra|dk	radjd|d|�}ntd��td||dtd	d
�S(u�
    Get status of running jboss instance.

    jboss_config
        Configuration dictionary with properties specified above.
    host
        The name of the host. JBoss domain mode only - and required if running in domain mode.
        The host name is the "name" attribute of the "host" element in host.xml
    server_config
        The name of the Server Configuration. JBoss Domain mode only - and required
        if running in domain mode.

    CLI Example:

    .. code-block:: bash

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

       u7======================== MODULE FUNCTION: jboss7.statusu":read-attribute(name=server-state)uK/host="{host}"/server-config="{server_config}"/:read-attribute(name=status)thostt
server_configuKInvalid parameters. Must either pass both host and server_config or neitherujboss7_cli.run_operationt
fail_on_errortretriesiN(tlogtdebugtNonetformatRt__salt__tFalse(tjboss_configRRt	operation((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytstatus,s
		cC@s�tjd�|dkr"d}ndjd|�}td||dt�}|dsr|drvd|d	krv|Std
j|���dS(u'
    Stop running jboss instance

    jboss_config
        Configuration dictionary with properties specified above.
    host
        The name of the host. JBoss domain mode only - and required if running in domain mode.
        The host name is the "name" attribute of the "host" element in host.xml

    CLI Example:

    .. code-block:: bash

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

       u<======================== MODULE FUNCTION: jboss7.stop_serveru	:shutdownu/host="{host}"/:shutdownRujboss7_cli.run_operationRusuccessu Operation failed: Channel closedustdoutuQCannot handle error, return code={retcode}, stdout='{stdout}', stderr='{stderr}' N(R	R
RRR
Rt	Exception(RRRtshutdown_result((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytstop_serverLs
	%cC@s�tjd�|dkr"d}ndjd|�}td||dt�}|ds�|dr�d|d	ks�d
|d	kr�|Stdj|���dS(
u$
    Reload running jboss instance

    jboss_config
        Configuration dictionary with properties specified above.
    host
        The name of the host. JBoss domain mode only - and required if running in domain mode.
        The host name is the "name" attribute of the "host" element in host.xml

    CLI Example:

    .. code-block:: bash

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

       u7======================== MODULE FUNCTION: jboss7.reloadu:reloadu/host="{host}"/:reloadRujboss7_cli.run_operationRusuccessu Operation failed: Channel closedustdoutuNCommunication error: java.util.concurrent.ExecutionException: Operation faileduQCannot handle error, return code={retcode}, stdout='{stdout}', stderr='{stderr}' N(R	R
RRR
RR(RRRt
reload_result((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytreload_js
	cC@s�tjd||�t|||�}djd|dt||��}|d	k	rkdjd|�|}ntd||dt�S(
uQ
    Create datasource in running jboss instance

    jboss_config
        Configuration dictionary with properties specified above.
    name
        Datasource name
    datasource_properties
        A dictionary of datasource properties to be created:
          - driver-name: mysql
          - connection-url: 'jdbc:mysql://localhost:3306/sampleDatabase'
          - jndi-name: 'java:jboss/datasources/sampleDS'
          - user-name: sampleuser
          - password: secret
          - min-pool-size: 3
          - use-java-context: True
    profile
        The profile name (JBoss domain mode only)

    CLI Example:

    .. code-block:: bash

        salt '*' jboss7.create_datasource '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' 'my_datasource' '{"driver-name": "mysql", "connection-url": "jdbc:mysql://localhost:3306/sampleDatabase", "jndi-name": "java:jboss/datasources/sampleDS", "user-name": "sampleuser", "password": "secret", "min-pool-size": 3, "use-java-context": True}'
    uW======================== MODULE FUNCTION: jboss7.create_datasource, name=%s, profile=%su=/subsystem=datasources/data-source="{name}":add({properties})tnamet
propertiesu/profile="{profile}"tprofileujboss7_cli.run_operationRN(R	R
t%__get_datasource_resource_descriptionRt"__get_properties_assignment_stringRR
R(RRtdatasource_propertiesRtds_resource_descriptionR((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytcreate_datasource�s	cC@sVg}|d}x6tj|�D]%\}}|jt|||��q Wdj|�S(Nu
attributesu,(Rt	iteritemstappendt__get_single_assignment_stringtjoin(RRtassignment_stringst
ds_attributestkeytval((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyR�s

cC@sdj|t|||��S(Nu{0}={1}(Rt__format_value(R%R&R$((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyR!�scC@s�||d}|dkrb|d
kr*|St|t�rJ|rCdSdSq�tdj|���nJ|dkr{tj|�S|dkr�dj|�Std	j||���dS(NutypeuBOOLEANutrueufalseu-Don't know how to convert {0} to BOOLEAN typeuINTuSTRINGu"{0}"u.Don't know how to format value {0} of type {1}(utrueufalse(t
isinstancetboolRRRt	text_type(R%tvalueR$ttype_((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyR'�s

c
C@stjd||�t|||�}|d}tj||�}|j�}itd6dd6}t|�dkrt|||�}	|	d}
xp|D]e}t	||||||
|�}|ds�t
|d<|ddj||||d	�|d<q�q�Wn|S(
u�
    Update an existing datasource in running jboss instance.
    If the property doesn't exist if will be created, if it does, it will be updated with the new value

    jboss_config
        Configuration dictionary with properties specified above.
    name
        Datasource name
    new_properties
        A dictionary of datasource properties to be updated. For example:
          - driver-name: mysql
          - connection-url: 'jdbc:mysql://localhost:3306/sampleDatabase'
          - jndi-name: 'java:jboss/datasources/sampleDS'
          - user-name: sampleuser
          - password: secret
          - min-pool-size: 3
          - use-java-context: True
    profile
        The profile name (JBoss domain mode only)

    CLI Example:

    .. code-block:: bash

        salt '*' jboss7.update_datasource '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' 'my_datasource' '{"driver-name": "mysql", "connection-url": "jdbc:mysql://localhost:3306/sampleDatabase", "jndi-name": "java:jboss/datasources/sampleDS", "user-name": "sampleuser", "password": "secret", "min-pool-size": 3, "use-java-context": True}'

    uW======================== MODULE FUNCTION: jboss7.update_datasource, name=%s, profile=%suresultusuccessuucommentiu
attributesuFCould not update datasource property {0} with value {1},
 stdout: {2}
ustdout(R	R
t__read_datasourcet
dictdiffert
DictDiffertchangedtTruetlenRt__update_datasource_propertyRR(
RRtnew_propertiesRt	ds_resulttcurrent_propertiestdifftchanged_propertiestretRR$R%t
update_result((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytupdate_datasource�s"





3cC@sstjd||�djd|�}|dk	rJdjd|�|}ntd||�}|dro|dSdS(	Nuk======================== MODULE FUNCTION: jboss7.__get_datasource_resource_description, name=%s, profile=%suE/subsystem=datasources/data-source="{name}":read-resource-descriptionRu/profile="{profile}"Rujboss7_cli.run_operationuoutcomeuresult(R	R
RRR
(RRRRtoperation_result((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyRs
cC@s tjd|�t|||�S(u�
    Read datasource properties in the running jboss instance.

    jboss_config
        Configuration dictionary with properties specified above.
    name
        Datasource name
    profile
        Profile name (JBoss domain mode only)

    CLI Example:

    .. code-block:: bash

        salt '*' jboss7.read_datasource '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}'
       uI======================== MODULE FUNCTION: jboss7.read_datasource, name=%s(R	R
R-(RRR((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytread_datasourcescC@sjtjd|||�djd|dt|��}|dk	rYdjd|�|}ntd||�S(	u�
    Create a simple jndi binding in the running jboss instance

    jboss_config
        Configuration dictionary with properties specified above.
    binding_name
        Binding name to be created
    value
        Binding value
    profile
        The profile name (JBoss domain mode only)

    CLI Example:

    .. code-block:: bash

        salt '*' jboss7.create_simple_binding \
                '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", \
                "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' \
                my_binding_name my_binding_value
       um======================== MODULE FUNCTION: jboss7.create_simple_binding, binding_name=%s, value=%s, profile=%suT/subsystem=naming/binding="{binding_name}":add(binding-type=simple, value="{value}")tbinding_nameR+u/profile="{profile}"Rujboss7_cli.run_operationN(R	R
Rt__escape_binding_valueRR
(RR>R+RR((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytcreate_simple_binding%s	cC@sjtjd|||�djd|dt|��}|dk	rYdjd|�|}ntd||�S(	uP
    Update the simple jndi binding in the running jboss instance

    jboss_config
        Configuration dictionary with properties specified above.
    binding_name
        Binding name to be updated
    value
        New binding value
    profile
        The profile name (JBoss domain mode only)

    CLI Example:

    .. code-block:: bash

        salt '*' jboss7.update_simple_binding '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_binding_name my_binding_value
       um======================== MODULE FUNCTION: jboss7.update_simple_binding, binding_name=%s, value=%s, profile=%suW/subsystem=naming/binding="{binding_name}":write-attribute(name=value, value="{value}")R>R+u/profile="{profile}"Rujboss7_cli.run_operationN(R	R
RR?RR
(RR>R+RR((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytupdate_simple_bindingEs	cC@s#tjd|�t||d|�S(u
    Read jndi binding in the running jboss instance

    jboss_config
        Configuration dictionary with properties specified above.
    binding_name
        Binding name to be created
    profile
        The profile name (JBoss domain mode only)

    CLI Example:

        .. code-block:: bash

        salt '*' jboss7.read_simple_binding '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_binding_name
       uH======================== MODULE FUNCTION: jboss7.read_simple_binding, %sR(R	R
t__read_simple_binding(RR>R((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytread_simple_bindingbscC@sHdjd|�}|dk	r7djd|�|}ntd||�S(Nu8/subsystem=naming/binding="{binding_name}":read-resourceR>u/profile="{profile}"Rujboss7_cli.run_operation(RRR
(RR>RR((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyRBwsc
C@stjd||||�djd|d|dt|||��}|dk	rhdjd|�|}ntd||d	t�S(
Nu�======================== MODULE FUNCTION: jboss7.__update_datasource_property, datasource_name=%s, name=%s, value=%s, profile=%suc/subsystem=datasources/data-source="{datasource_name}":write-attribute(name="{name}",value={value})tdatasource_nameRR+u/profile="{profile}"Rujboss7_cli.run_operationR(R	R
RR'RR
R(RRDRR+R$RR((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyR3s	cC@sNdjd|�}|dk	r7djd|�|}ntd||�}|S(Nu9/subsystem=datasources/data-source="{name}":read-resourceRu/profile="{profile}"Rujboss7_cli.run_operation(RRR
(RRRRR<((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyR-�s
cC@s|jdd�}|S(Nu\u\\\\(treplace(R>tresult((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyR?�scC@satjd||�djd|�}|dk	rJdjd|�|}ntd||dt�S(	u
    Remove an existing datasource from the running jboss instance.

    jboss_config
        Configuration dictionary with properties specified above.
    name
        Datasource name
    profile
        The profile (JBoss domain mode only)

    CLI Example:

    .. code-block:: bash

        salt '*' jboss7.remove_datasource '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_datasource_name
       uW======================== MODULE FUNCTION: jboss7.remove_datasource, name=%s, profile=%su0/subsystem=datasources/data-source={name}:removeRu/profile="{profile}"Rujboss7_cli.run_operationRN(R	R
RRR
R(RRRR((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytremove_datasource�s
cC@s9tjd|�djd|�}td||dt�S(u�
    Deploy the application on the jboss instance from the local file system where minion is running.

    jboss_config
        Configuration dictionary with properties specified above.
    source_file
        Source file to deploy from

    CLI Example:

    .. code-block:: bash

        salt '*' jboss7.deploy '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' /opt/deploy_files/my_deploy
       uG======================== MODULE FUNCTION: jboss7.deploy, source_file=%sudeploy {source_file} --force tsource_fileujboss7_cli.run_commandR(R	R
RR
R(RRHtcommand((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytdeploy�scC@sitjd�td|d�}g}t|d�dkrUtjd|d�}ntjd|�|S(u�
    List all deployments on the jboss instance

    jboss_config
        Configuration dictionary with properties specified above.

     CLI Example:

     .. code-block:: bash

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

       uA======================== MODULE FUNCTION: jboss7.list_deploymentsujboss7_cli.run_commandudeployustdoutiu\s*udeployments=%s(R	R
R
R2tretsplit(Rtcommand_resulttdeployments((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytlist_deployments�s
cC@s3tjd|�djd|�}td||�S(u�
    Undeploy the application from jboss instance

    jboss_config
        Configuration dictionary with properties specified above.
    deployment
        Deployment name to undeploy

    CLI Example:

    .. code-block:: bash

        salt '*' jboss7.undeploy '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_deployment
       uH======================== MODULE FUNCTION: jboss7.undeploy, deployment=%suundeploy {deployment} t
deploymentujboss7_cli.run_command(R	R
RR
(RRPRI((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pytundeploy�s((t__doc__t
__future__RRRRKtloggingtsalt.utils.dictdiffertutilsR.tsalt.exceptionsRtsalt.extRt	getLoggert__name__R	t__func_alias__RRRRRRR!R'R;RR=R@RARCRBR3R-R?RGRJRORQ(((s7/usr/lib/python2.7/site-packages/salt/modules/jboss7.pyt<module>s<
  '				2 			

Zerion Mini Shell 1.0