Solace Configuration & Action Modules
Configuration modules mostly use the Solace Sempv2 Config Api. Some modules also use the Solace Cloud Api where required, so the same module can be used for both, standalone brokers and Solace Cloud services.
Solace Sempv2 Config Api: https://docs.solace.com/API-Developer-Online-Ref-Documentation/swagger-ui/config/index.html
Solace Cloud Rest Api: https://docs.solace.com/Solace-Cloud/solace_cloud_rest_api.htm
Configuration Settings for Modules
Each API used, Sempv2, Sempv1, Solace Cloud, offers settings or parameters to be included.
The settings are NOT documented in the modules.
Instead, each module documentation contains the URLs of the SEMP API call / Solace Cloud API call. Use the official documentation to find the settings for each module.
For example, module: solace_queue – queue is based on the Sempv2 Config Api: https://docs.solace.com/API-Developer-Online-Ref-Documentation/swagger-ui/config/index.html#/queue.
Creating a queue is based on this call: https://docs.solace.com/API-Developer-Online-Ref-Documentation/swagger-ui/config/index.html#/queue/createMsgVpnQueue.
We can see the accepted settings, such as:
accessType
consumerAckPropagationEnabled
deadMsgQueue
…
Example Usage
Modify these settings in a playbook using the settings argument:
name: Quickstart Configure Playbook
hosts: all
gather_facts: no
any_errors_fatal: true
collections:
- solace.pubsub_plus
module_defaults:
solace_queue:
host: "{{ sempv2_host }}"
port: "{{ sempv2_port }}"
secure_connection: "{{ sempv2_is_secure_connection }}"
username: "{{ sempv2_username }}"
password: "{{ sempv2_password }}"
timeout: "{{ sempv2_timeout }}"
msg_vpn: "{{ vpn }}"
tasks:
- name: create queue
solace_queue:
name: quickstart_queue
settings:
accessType: non-exclusive
consumerAckPropagationEnabled: false
state: present
Idempotency
The configuration modules update/add/delete Broker objects in an idempotent manner.
They argument state=[present, absent] determines the desired outcome of the module. The module’s behavior is as follows:
state=’present’:
get the current object from the broker
if not found:
create a new object
if found:
create a delta settings by comparing current object settings with target settings specified in the playbook
update the broker object with the target settings
state=’absent’:
check if the object exists
if found:
delete the object
if not found:
do nothing
Module Reference
- solace_acl_client_connect_exception – client connect exception for acl profile
- solace_acl_client_connect_exceptions – list of client connect address exceptions on an acl profile
- solace_acl_profile – configure acl profile
- solace_acl_publish_topic_exception – publish topic exception for acl profile
- solace_acl_publish_topic_exceptions – list of publish topic exceptions on an acl profile
- solace_acl_subscribe_share_name_exception – subscribe share name exception for acl profile
- solace_acl_subscribe_share_name_exceptions – list of subscribe share name exceptions on an acl profile
- solace_acl_subscribe_topic_exception – subscribe topic exception for acl profile
- solace_acl_subscribe_topic_exceptions – list of subscribe topic exceptions on an acl profile
- solace_authentication_oauth_provider – oauth provider
- solace_authorization_group – authorization group
- solace_bridge – bridge
- solace_bridge_remote_subscription – remote subscription on a bridge
- solace_bridge_remote_subscriptions – list of remote subscriptions on a bridge
- solace_bridge_remote_vpn – bridge remote vpn
- solace_bridge_trusted_cn – trusted common name for bridge
- solace_cert_authority – certificate authority
- solace_client_cert_authority – client certificate authority
- solace_client_cert_authority_ocsp_trusted_cn – ocsp responder trusted common name
- solace_client_profile – client profile for sempv2
- solace_client_username – client username
- solace_dmr_bridge – dmr bridge
- solace_dmr_cluster – dmr cluster
- solace_dmr_cluster_link – link on a dmr cluster
- solace_dmr_cluster_link_remote_address – remote address for dmr cluster link
- solace_dmr_cluster_link_trusted_cn – trusted common name for dmr cluster link
- solace_domain_cert_authority – domain certificate authority
- solace_jndi_connection_factory – JNDI connection-factory
- solace_jndi_queue – jndi queue
- solace_jndi_queues – manage a list of jndi queues
- solace_jndi_topic – jndi topic
- solace_jndi_topics – manage a list of jndi topics
- solace_mqtt_session – mqtt session
- solace_mqtt_session_subscription – subscription for mqtt session
- solace_queue – queue
- solace_queue_cancel_replay – cancel replay on queue
- solace_queue_start_replay – start replay on queue
- solace_queue_subscription – subscription on a queue
- solace_queue_subscriptions – list of subscriptions on a queue
- solace_queue_template – queue template
- solace_rdp – rest delivery point
- solace_rdp_queue_binding – queue bindining on rdp
- solace_rdp_queue_binding_header – header on queue bindining on rdp
- solace_rdp_queue_binding_protected_header – protected header on queue bindining on rdp
- solace_rdp_rest_consumer – rest consumer on rdp
- solace_rdp_rest_consumer_trusted_cn – trusted common name on rdp rest consumer
- solace_replay_log – replay log
- solace_replay_log_trim_logged_msgs – trim msgs on replay log
- solace_replicated_topic – replicated topic on a MessageVpn’s replication
- solace_replicated_topics – list of replicated topics on a MessageVpn’s replication
- solace_service_authentication_ldap_profile – ldap profile
- solace_topic_endpoint – topic endpoint
- solace_vpn – vpn