community.rabbitmq.rabbitmq_exchange – Manage rabbitMQ exchanges

Note

This plugin is part of the community.rabbitmq collection.

To install it use: ansible-galaxy collection install community.rabbitmq.

To use it in a playbook, specify: community.rabbitmq.rabbitmq_exchange.

Synopsis

  • This module uses rabbitMQ Rest API to create/delete exchanges

Requirements

The below requirements are needed on the host that executes this module.

  • requests >= 1.0.0

Parameters

Parameter Choices/Defaults Comments
arguments
dictionary
Default:
{}
extra arguments for exchange. If defined this argument is a key/value dictionary
auto_delete
boolean
    Choices:
  • no ←
  • yes
if the exchange should delete itself after all queues/exchanges unbound from it
ca_cert
path
CA certificate to verify SSL connection to management API.

aliases: cacert
client_cert
path
Client certificate to send on SSL connections to management API.

aliases: cert
client_key
path
Private key matching the client certificate.

aliases: key
durable
boolean
    Choices:
  • no
  • yes ←
whether exchange is durable or not
exchange_type
string
    Choices:
  • fanout
  • direct ←
  • headers
  • topic
type for the exchange

aliases: type
internal
boolean
    Choices:
  • no ←
  • yes
exchange is available only for other exchanges
login_host
string
Default:
"localhost"
RabbitMQ host for connection.
login_password
string
Default:
"guest"
RabbitMQ password for connection.
login_port
string
Default:
"15672"
RabbitMQ management API port.
login_protocol
string
    Choices:
  • http ←
  • https
RabbitMQ management API protocol.
login_user
string
Default:
"guest"
RabbitMQ user for connection.
name
string / required
Name of the exchange to create
state
string
    Choices:
  • present ←
  • absent
Whether the exchange should be present or absent
vhost
string
Default:
"/"
RabbitMQ virtual host.

Examples

# Create direct exchange
- community.rabbitmq.rabbitmq_exchange:
    name: directExchange

# Create topic exchange on vhost
- community.rabbitmq.rabbitmq_exchange:
    name: topicExchange
    type: topic
    vhost: myVhost

Authors

  • Manuel Sousa (@manuel-sousa)