Note
This module is part of the community.rabbitmq collection (version 1.6.0).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.rabbitmq. You need further requirements to be able to use this module, see Requirements for details.
To use it in a playbook, specify: community.rabbitmq.rabbitmq_publish.
The below requirements are needed on the host that executes this module.
Parameter | Comments |
|---|---|
auto_delete boolean | Set the queue to auto delete. Choices:
|
body string | The body of the message. A |
cafile string | CA file used during connection to the RabbitMQ server over SSL. If this option is specified, also certfile and keyfile must be specified. |
certfile string | Client certificate to establish SSL connection. If this option is specified, also cafile and keyfile must be specified. |
content_type string | The content type of the body. Default: |
durable boolean | Set the queue to be durable. Choices:
|
exchange string | The exchange to publish a message to. An |
exclusive boolean | Set the queue to be exclusive. Choices:
|
headers dictionary | A dictionary of headers to post with the message. Default: |
host string | The RabbitMQ server hostname or IP. |
keyfile string | Client key to establish SSL connection. If this option is specified, also cafile and certfile must be specified. |
password string | The RabbitMQ password. |
port integer | The RabbitMQ server port. |
proto string | The protocol to use. Choices:
|
queue string | The queue to publish a message to. If no queue is specified, RabbitMQ will return a random queue name. A |
routing_key string | The routing key. |
src aliases: file path | A file to upload to the queue. Automatic mime type detection is attempted if content_type is not defined (left as default). A The filename is added to the headers of the posted message to RabbitMQ. Key being the |
url string | An URL connection string to connect to the RabbitMQ server. url and host/port/user/pass/vhost are mutually exclusive, use either or but not both. |
username string | The RabbitMQ username. |
vhost string | The virtual host to target. If default vhost is required, use |
Note
ssl_options.verify = verify_peer & ssl_options.fail_if_no_peer_cert = true.- name: Publish to an exchange
community.rabbitmq.rabbitmq_publish:
exchange: exchange1
url: "amqp://guest:[email protected]:5672/%2F"
body: "Hello exchange from ansible module rabbitmq_publish"
content_type: "text/plain"
- name: Publish to an exchange with routing_key
community.rabbitmq.rabbitmq_publish:
exchange: exchange1
routing_key: queue1
url: "amqp://guest:[email protected]:5672/%2F"
body: "Hello queue via exchange routing_key from ansible module rabbitmq_publish"
content_type: "text/plain"
- name: Publish a message to a queue with headers
community.rabbitmq.rabbitmq_publish:
url: "amqp://guest:[email protected]:5672/%2F"
queue: 'test'
body: "Hello world from ansible module rabbitmq_publish"
content_type: "text/plain"
headers:
myHeader: myHeaderValue
- name: Publish a file to a queue
community.rabbitmq.rabbitmq_publish:
url: "amqp://guest:[email protected]:5672/%2F"
queue: 'images'
file: 'path/to/logo.gif'
- name: RabbitMQ auto generated queue
community.rabbitmq.rabbitmq_publish:
url: "amqp://guest:[email protected]:5672/%2F"
body: "Hello world random queue from ansible module rabbitmq_publish"
content_type: "text/plain"
- name: Publish with certs
community.rabbitmq.rabbitmq_publish:
url: "amqps://guest:[email protected]:5671/%2F"
body: "Hello test queue from ansible module rabbitmq_publish via SSL certs"
queue: 'test'
content_type: "text/plain"
cafile: 'ca_certificate.pem'
certfile: 'client_certificate.pem'
keyfile: 'client_key.pem'
Common return values are documented here, the following are the fields unique to this module:
Key | Description |
|---|---|
result dictionary | If posted to an exchange, the result contains the status msg, content type content_type the exchange name exchange and the routing key routing_key. If posted to a queue, the result contains the status msg, content type content_type and the queue name queue. Returned: success Sample: |
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/rabbitmq/rabbitmq_publish_module.html