» rabbitmq_policy

The rabbitmq_policy resource creates and manages policies for exchanges and queues.

» Example Usage

resource "rabbitmq_vhost" "test" {
  name = "test"
}

resource "rabbitmq_permissions" "guest" {
  user  = "guest"
  vhost = "${rabbitmq_vhost.test.name}"

  permissions {
    configure = ".*"
    write     = ".*"
    read      = ".*"
  }
}

resource "rabbitmq_policy" "test" {
  name  = "test"
  vhost = "${rabbitmq_permissions.guest.vhost}"

  policy {
    pattern  = ".*"
    priority = 0
    apply_to = "all"

    definition = {
      ha-mode = "all"
    }
  }
}

» Argument Reference

The following arguments are supported:

  • name - (Required) The name of the policy.

  • vhost - (Required) The vhost to create the resource in.

  • policy - (Required) The settings of the policy. The structure is described below.

The policy block supports:

  • pattern - (Required) A pattern to match an exchange or queue name.
  • priority - (Required) The policy with the greater priority is applied first.
  • apply_to - (Required) Can either be "exchanges", "queues", or "all".
  • definition - (Required) Key/value pairs of the policy definition. See the RabbitMQ documentation for definition references and examples.

» Attributes Reference

No further attributes are exported.

» Import

Policies can be imported using the id which is composed of name@vhost. E.g.

terraform import rabbitmq_policy.test name@vhost