heat_template_version: 2016-04-08

description: >
  RabbitMQ service configured with Puppet

parameters:
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  RabbitUserName:
    default: guest
    description: The username for RabbitMQ
    type: string
  RabbitPassword:
    description: The password for RabbitMQ
    type: string
    hidden: true
  RabbitFDLimit:
    default: 65536
    description: Configures RabbitMQ FD limit
    type: string
  RabbitIPv6:
    default: false
    description: Enable IPv6 in RabbitMQ
    type: boolean

outputs:
  role_data:
    description: Role data for the RabbitMQ role.
    value:
      service_name: rabbitmq
      config_settings:
        rabbitmq::file_limit: {get_param: RabbitFDLimit}
        rabbitmq::default_user: {get_param: RabbitUserName}
        rabbitmq::default_pass: {get_param: RabbitPassword}
        rabbit_ipv6: {get_param: RabbitIPv6}
        tripleo.rabbitmq.firewall_rules:
          '109 rabbitmq':
            dport:
              - 4369
              - 5672
              - 35672
      step_config: |
        include ::tripleo::profile::base::rabbitmq