middleware_automation / middleware_automation.jcliff / 0.0.23 / module / jcliff Manages the configuration of Wildfly / JBoss EAP servers Authors: Andrew Block (@sabre1041), Romain Pelisse (@rpelisse), Harsha Cherukuri (@hcheruku) preview | supported by community This plugin has a corresponding action plugin.middleware_automation.jcliff.jcliff (0.0.23) — module
Install with ansible-galaxy collection install middleware_automation.jcliff:==0.0.23
collections: - name: middleware_automation.jcliff version: 0.0.23
Wraps the JCliff Java utility tool in order to support fine grained tuning of Wildfly / JBoss EAP server configuration in Ansible.
- name: Configure Wildfly instance jcliff: wfly_home: "/opt/wildfly" subsystems: - system_properties: - name: jcliff.enabled value: 'enabled.plus' - datasources: - name: ExampleDS2 use_java_context: 'true' jndi_name: java:jboss/datasources/ExampleDS2 connection_url: "jdbc:h2:mem:test2;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE" driver_name: h2
state: choices: - present - absent default: present description: - If 'present', configurations will be applied to the Wildfly/JBoss EAP server. - If 'absent', configurations will be removed from the Wildfly/JBoss EAP server - this is NOT implemented yet! type: str jcliff: default: /usr/bin/jcliff description: - Path to the the Jcliff utility. type: str timeout: default: 30000 description: - Set jcliff timeout (how long a jcliff will allow a query to the server to last) type: int rule_file: description: - Name of the rules file. type: str rules_dir: default: /usr/share/jcliff/rules description: - Directory containing Jcliff rules. type: str wfly_home: aliases: - jboss_home description: - Home directory for the Wildfly or JBoss EAP server. required: true type: str components: aliases: - subsystems description: - Wildfly or JBoss EAP Subsystems or configuration component elements: dict suboptions: datasources: description: - Datasource configurations. elements: dict suboptions: check_valid_connection_sql: default: undefined description: - Datasource SQL query for checking a valid connection. type: str connection_url: description: - Connection URL. required: true type: str driver_name: description: - Name of the driver. required: true type: str enabled: default: 'true' description: - Whether the datasource is enabled. type: str idle_timeout_minutes: default: undefined description: - Datasource idle timeout minutes. type: str jndi_name: description: - JNDI name. required: true type: str max_pool_size: default: undefined description: - Datasource maximum pool size. type: str min_pool_size: default: undefined description: - Datasource minimum pool size. type: str name: description: - Datasource name. required: true type: str password: description: - Datasource password. type: str pool_name: description: - Name of the datasource pool. type: str query_timeout: default: undefined description: - Datasource query timeout. type: str use_java_context: default: 'true' description: - Use the Java context. type: str user_name: description: - Datasource user name. type: str validate_on_match: default: undefined description: - Datasource validate on match. type: str type: list deployments: description: - Deployments. elements: dict suboptions: disabled: description: - Adds to the repository in a disabled state. required: false type: bool name: description: - Name of the deployment. required: true type: str path: description: - Path to the deployment. required: true type: str replace_name_regex: description: - Regex pattern to replace the deployment if the value matches the name. required: false type: str replace_runtime_name_regex: description: - Regex pattern to replace the deployment if the value matches the runtime name. required: false type: str runtime_name: description: - Runtime of the deployment. required: false type: str unmanaged: description: - Specifies whether the deployment should be managed. required: false type: bool type: list drivers: description: - JDBC driver configurations. elements: dict suboptions: driver_class_name: default: undefined description: - Driver class name. type: str driver_datasource_class_name: default: undefined description: - Class name for the datasource. type: str driver_module_name: description: - Name of the driver module. required: true type: str driver_name: description: - Name of the driver. required: true type: str driver_xa_datasource_class_name: default: undefined description: - Class name for the XA datasource. type: str module_slot: default: undefined description: - Name of the module slot. type: str type: list interfaces: description: - Interface. elements: dict suboptions: any_address: description: - Sockets using this interface should be bound to a wildcard address required: false type: bool inet_address: description: - Whether or not the address matches the given value required: false type: str link_local_address: description: - Part of the selection criteria for choosing an IP address for this interface should be whether or not the address is link-local required: false type: bool loopback: description: - Part of the selection criteria for choosing an IP address for this interface should be whether or not it is a loopback address required: false type: bool loopback_address: description: - Value indicating that the IP address for this interface should be the given value, if a loopback interface exists on the machine required: false type: str multicast: description: - Whether or not its network interface supports multicast required: false type: bool name: description: - Name of the interface required: true type: str nic: description: - Part of the selection criteria for choosing an IP address for this interface should be whether its network interface has the given name required: false type: str nic_match: description: - Whether its network interface has a name that matches the given regular expression required: false type: str point_to_point: description: - Whether or not its network interface is a point-to-point interface required: false type: bool public_address: description: - Whether or not it is a publicly routable address required: false type: bool resolved_address: description: - The resolved ip address for this interface required: false type: str site_local_address: description: - Whether or it is a site-local address required: false type: bool subnet_match: description: - Whether or it the address fits in the given subnet definition. Value is a network IP address and the number of bits in the address required: false type: str up: description: - Whether its network interface is currently up required: false type: bool virtual: description: - Whether its network interface is a virtual interface required: false type: bool type: list keycloak: description: - Keycloak. elements: dict suboptions: secure_deployment: description: - List of applications to secure using Keycloak. elements: dict suboptions: auth_server_url: description: - Base URL of the Keycloak server. required: true type: str credential: description: - The secure value for the application. If not provided, it is setup as a public client. type: str deployment_name: description: - Name of the deployment. required: true type: str disable_trust_manager: description: - Should only be used during development and NEVER in production as it will disable verification of SSL certificates. Default false. type: bool realm: description: - Name of the Keycloak realm. type: str resource: description: - The client-id of the application. required: true type: str ssl_required: description: - Ensures that communication to and from the Keycloak server is over HTTPS. Default external. Possible values all external none. type: str use_resource_role_mappings: description: - Whether the adapter will look inside the token for application level role mappings for the user. The default value is false. type: bool verify_token_audience: description: - Whether the adapter will verify whether the token contains this client name (resource) as an audience. Default is false. type: bool type: list type: list logging: description: - logger. elements: dict suboptions: level: description: - Replace level with log level that is to be set required: false type: str name: description: - Replace name with name of the log category required: true type: str type: list mail: description: - mail. elements: dict suboptions: from_email: description: - Replace from_email with email id. required: true type: str jndi_name: description: - Set jndi_name, for ex. java:jboss/mail/testSession required: true type: str name: description: - Replace name with subject. required: true type: str outbound_socket_binding_ref: description: - Set outbound_socket_binding_ref, for ex. mail-smtp required: true type: str ssl: description: - Set ssl required: false type: bool type: list messaging_activemq: description: - Create messaging activemq. suboptions: address_setting: description: - Configure address setting elements: dict suboptions: dead_letter_address: description: - Sets the dead-letter-address. required: false type: str expiry_address: description: - Sets the expiry-address. required: false type: str max_delivery_attempts: description: - Sets max number of delivery attempts. required: false type: int name: description: - Enter the details of address setting. required: true type: str redelivery_delay: description: - Sets the redelivery-delay. required: false type: int type: list bridge: description: - Configure bridge elements: dict suboptions: discovery_group: description: - discovery group required: true type: str name: description: - Logical name of the bridge required: true type: str queue_name: description: - queue name required: true type: str static_connectors: description: - static connectors required: true type: str type: list connection_factory: description: - Configure connection factory. elements: dict suboptions: connectors: description: - Legacy entries elements: str required: false type: list discovery_group: description: - discovery group required: false type: str entries: description: - Enter the required entries elements: str required: true type: list name: description: - Logical name of the connection factory required: true type: str type: list connector: description: - Configure connector. elements: dict suboptions: factory_class: description: - factory class required: true type: str name: description: - Logical name of the connector. required: true type: str type: list in_vm_acceptor: description: - Configure in vm acceptor elements: dict suboptions: name: description: - Enter the details of in vm acceptor. required: true type: str server_id: description: - Enter the details of server id. required: true type: str type: list jms_queue: description: - Create JMS queue elements: dict suboptions: durable: description: - Enter if it is durable or not. required: false type: str entries: description: - Enter the required entries. elements: str required: true type: list headers: description: - headers required: false type: str legacy_entries: description: - Legacy entries required: false type: str name: description: - Logical name of the jms queue required: true type: str selector: description: - seclecor required: false type: str type: list jms_topic: description: - Configure jms topic. elements: dict suboptions: entries: description: - Enter the required entries. elements: str required: true type: list headers: description: - headers required: false type: str legacy_entries: description: - Legacy entries required: false type: str name: description: - Logical name of the jms topic. required: true type: str type: list pooled_connection_factory: description: - Configure pooled connection factory elements: dict suboptions: connector: description: - Enter the details of connector. required: true type: str discovery: description: - Enter the details of discovery. required: false type: str entries: description: - Enter entries. elements: str required: true type: list name: description: - Enter the details of pooled connection factory. required: true type: str type: list remote_acceptor: description: - Configure remote acceptor elements: dict suboptions: name: description: - Enter the details of remote acceptor. required: true type: str type: list remote_connector: description: - Configure remote connector elements: dict suboptions: name: description: - Enter the details of remote acceptor. required: true type: str socket_binding: description: - Enter the details of socket binding. required: true type: str type: list security_setting: description: - Configure security setting elements: dict suboptions: consume: description: - Consume required: false type: str create_durable_queue: description: - create_durable_queue required: false type: str create_non_durable_queue: description: - create_non_durable_queue required: false type: str delete_durable_queue: description: - delete_durable_queue required: false type: str delete_non_durable_queue: description: - delete_non_durable_queue required: false type: str manage: description: - manage required: false type: str name: description: - Logical name of the bridge required: true type: str send: description: - enter details to send required: true type: str type: list server_property: description: - Creates and sets messaging-activemq server properties. elements: dict suboptions: name: description: - Name of property. required: true type: str value: description: - Value of property. required: true type: str type: list type: dict modcluster: description: - Manage Modcluster. suboptions: proxy: description: - Modcluster proxy. elements: dict suboptions: advertise: description: - Whether to enable multicast-based advertise mechanism. required: false type: bool advertise_security_key: description: - If specified, reverse proxy advertisements checksums will be verified using this value as a salt. required: false type: str advertise_socket: description: - Name of socket binding to use for the advertise socket. required: false type: str auto_enable_contexts: description: - If false, the contexts are registered with the reverse proxy as disabled. required: false type: bool balancer: description: - The name of the balancer on the reverse proxy to register with. required: false type: str excluded_contexts: description: - List of contexts to exclude from registration with the reverse proxies. required: false type: str flush_packets: description: - Whether to enable packet flushing on the reverse proxy. required: false type: bool flush_wait: description: - Time to wait before flushing packets on the reverse proxy. required: false type: int listener: description: - The name of Undertow listener that will be registered with the reverse proxy. required: false type: str load_balancing_group: description: - Name of the load balancing group this node belongs to. required: false type: str max_attempts: description: - Maximum number of failover attempts by reverse proxy when sending the request to the backend server. required: false type: int name: description: - Logical name of the modcluster proxy. required: true type: str node_timeout: description: - Timeout (in seconds) for proxy connections to a node. Time mod_cluster will wait for the back-end response before returning an error. required: false type: int ping: description: - Number of seconds for which to wait for a pong answer to a ping. required: false type: int proxies: description: - List of reverse proxies for mod_cluster to register with defined by 'outbound-socket-binding' in 'socket-binding-group'. elements: str required: false type: list proxy_list: description: - List of reverse proxies to register with. Format (hostname:port) separated with commas. required: false type: str proxy_url: description: - Base URL for MCMP requests. required: false type: str session_draining_strategy: description: - Session draining strategy used during undeployment of a web application. required: false type: str simple_load_provider: description: - Simple load provider returns constant pre-configured load balancing factor. required: false type: int smax: description: - Soft maximum idle connection count for reverse proxy. required: false type: int socket_timeout: description: - Timeout to wait for the reverse proxy to answer a MCMP message. required: false type: int ssl_context: description: - Reference to the SSLContext to be used by mod_cluster. required: false type: str status_interval: description: - Number of seconds a STATUS message is sent from the application server to the proxy. required: false type: int sticky_session: description: - Indicates whether subsequent requests for a given session should be routed to the same node, if possible. required: false type: bool sticky_session_force: description: - Whether the reverse proxy should run an error in the event that the balancer is unable to route a request to the node to which it is stuck. required: false type: bool sticky_session_remove: description: - Whether the reverse proxy should remove session stickiness when the balancer is unable to route a request to the node to which it is stuck. required: false type: bool stop_context_timeout: description: - Maximum time to wait for context to process pending requests. required: false type: int ttl: description: - Time to live (in seconds) for idle connections above smax. required: false type: int worker_timeout: description: - Number of seconds to wait for a worker to become available to handle a request. required: false type: int type: list type: dict scanner: description: - The deployment scanner is only used in standalone mode. - It can be found in standalone.xml. elements: dict suboptions: name: description: - The name of the scanner. - It can be path, relative-to, scan-enabled, scan-interval, auto-deploy-zipped, auto-deploy-exploded, auto-deploy-xml, deployment-timeout required: false type: str value: description: - enter the respective value, corresponding to name. https://docs.jboss.org/infinispan/9.4/serverconfigdocs/jboss-as-deployment-scanner_2_0.html required: false type: str type: list standard_sockets: description: - Create Socket bindings. suboptions: remote_destination_outbound_socket_binding: description: - Remote destination outbound socket binding. elements: dict suboptions: fixed_source_port: description: - Whether the port value should remain fixed even if numeric offsets are applied to the other outbound sockets in the socket group. required: false type: bool host: description: - The host name or the IP address of the remote destination to which this outbound socket will connect. required: true type: str name: description: - Logical name of the remote destination outbound socket configuration that should be used elsewhere in the configuration. required: true type: str port: description: - The port number of the remote destination to which the outbound socket should connect. required: true type: int source_interface: description: - The name of the interface which will be used for the source address of the outbound socket. required: false type: str source_port: description: - The port number which will be used as the source port of the outbound socket. required: false type: int type: list socket_binding: description: - Socket bindings. elements: dict suboptions: interface: description: - Logical name of the interface to which a socket based on this configuration should be bound. required: false type: str multicast_address: description: - If the socket will be used for multicast, the multicast address to use. required: false type: str multicast_port: description: - If the socket will be used for multicast, the multicast port to use. required: false type: str name: description: - Logical name of the socket configuration that should be used elsewhere in the configuration. required: true type: str port: description: - Base port to which a socket based on this configuration should be bound. required: true type: str type: list type: dict system_properties: description: - System properties. elements: dict suboptions: name: description: - System property name. type: str value: description: - System property value. type: str type: list transactions: description: - Setting node-identifier elements: dict suboptions: name: description: - Node-identifier required: true type: str value: description: - enter the respective value, corresponding to name. required: true type: str type: list xadatasources: description: - XA Datasource configurations. elements: dict suboptions: background_validation: description: - Specifies that connections are validated on a background thread, - rather than being validated prior to use. - Mutually exclusive to validate-on-match. type: bool background_validation_millis: description: - The background-validation-millis element specifies the amount of - time, in milliseconds, that background validation will run. - Changing this value require a server restart. type: int check_valid_connection_sql: default: undefined description: - Datasource SQL query for checking a valid connection. type: str driver_name: description: - Name of the driver. required: true type: str enabled: default: 'true' description: - Whether the datasource is enabled. type: str exception_sorter_class_name: default: undefined description: - Which exception sorter class should be used. type: str jndi_name: description: - JNDI name. required: true type: str name: description: - Datasource name. required: true type: str no_recovery: description: - Should datasource attempt recovery. type: bool password: description: - Datasource password. type: str pool_name: description: - Name of the datasource pool. type: str same_rm_override: description: - The same-rm-override element allows one to unconditionally set - whether the javax.transaction.xa.XAResource.isSameRM(XAResource) - returns true or false. type: bool use_java_context: default: 'true' description: - Use the Java context. type: str user_name: description: - Datasource user name. type: str valid_connection_checker_class_name: default: undefined description: - An org.jboss.jca.adapters.jdbc.ValidConnectionChecker that - provides a SQLException isValidConnection(Connection e) method - to validate is a connection is valid. type: str validate_on_match: default: undefined description: - The validate-on-match element indicates whether or not - connection level validation should be done when a connection - factory attempts to match a managed connection for a given set. type: str xa_datasource_properties: description: - Properties for XA datasource required: true suboptions: url: description: - url for this datasource required: true type: str type: dict type: list type: list debug_mode: default: false description: - Debug output. type: bool jcliff_jvm: description: - Location of the Java JVM. type: str jcliff_home: default: /usr/share/jcliff description: - Home directory for the Jcliff utility. type: str management_host: default: localhost description: - Management host. type: str management_port: default: '9990' description: - Management port. type: str reconnect_delay: default: 30000 description: - Set jcliff reconnect delay type: int remote_rulesdir: description: - Location of the rules directory on the remote instance. type: str management_password: description: - Management password. type: str management_username: description: - Management username. type: str