# rabbitmq_exchange – Manage rabbitMQ exchanges

- Synopsis
- Requirements
- Parameters
- Examples
- Status

## 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 - | 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
-

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 |  | 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 - / required |  | Name of the exchange to create

state
-

Choices:
- present ←
- absent

Whether the exchange should be present or absent

vhost string | Default: "/" | RabbitMQ virtual host.

## Examples

    # Create direct exchange
    - rabbitmq_exchange:
        name: directExchange

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

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Manuel Sousa (@manuel-sousa)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.