This Terraform module supports the setup of a REST consumer on the Solace PubSub+ Event Broker.
Given a queue on the broker, as a destination for messages to be forwarded to a REST consumer application, this module configures a REST delivery point between the queue and the application.
Specific use case details are provided in the Examples section.
This module only supports one queue binding per REST delivery point. Configure a new REST delivery point using the module for an additional queue.
Adding extra OAuth JWT claims to the REST consumer is not supported in the current module. Support will be added in a later release.
msg_vpn_name
- REST delivery points are specific to a Message VPN on the broker.rest_delivery_point_name
- The name of the REST delivery point to be created.url
- The REST consumer destination URL including base URL and endpoint path. The path portion of the URL may contain substitution expressions. To specify an IPv6 address with port, the required format is the address to be enclosed in square brackets.queue_name
- The name of the queue to bind to.
Important: The REST delivery point must have permission to consume messages from the queue — to achieve this, the queue’s owner must be set to #rdp/<rest_delivery_point_name>
or the queue’s permissions for non-owner clients must be set to at least consume
level access. Queue ingress and egress must also be enabled.
client_profile_name
- The client profile associated. If not provided, thedefault
client profile for the Message VPN will be associated.request_headers
- A set of request headers to be added to the HTTP request.protected_request_headers
- A set of protected request headers with sensitive value to be added to the HTTP request.rest_consumer_name
- The name of the REST consumer to be created. The default isconsumer
.
Additional optional module variables names are the same as the underlying resource attributes. To determine the variable name mappings, we recommend that you look for matching attribute names in the documentation for the resource:
The default value for most of the optional variables is null
, meaning that if you don’t provide a value then the default value of the resource is provisioned on the event broker.
-> The module default for the enabled
optional variable is true
, which differ from the resource attribute default.
Module outputs provide reference to created resources. Any reference to a resource that has not been created will be set to (null)
.
Note that the "rest consumer" and the "protected request headers" outputs are sensitive.
Name | Version |
---|---|
solacebroker | >= 1.1 |
The following table shows the resources created. "X" denotes a resource that is always created, "O" denotes a resource that you have the option to create.
Name | |
---|---|
solacebroker_msg_vpn_rest_delivery_point | X |
solacebroker_msg_vpn_rest_delivery_point_rest_consumer | X |
solacebroker_msg_vpn_rest_delivery_point_queue_binding | X |
solacebroker_msg_vpn_rest_delivery_point_queue_binding_request_header | O |
solacebroker_msg_vpn_rest_delivery_point_queue_binding_protected_request_header | O |
The following examples demonstrate several specific use cases for this module:
This module is expected to be used primarily by application teams. It supports provisioning rest delivery required by a specific application. It may be forked and adjusted with private defaults.
For more information about Solace technology in general please visit these resources:
- Solace Technical Documentation
- The Solace Developer Portal website at: solace.dev
- Understanding Solace technology
- Ask the Solace community.