# # Copyright (C) 2014 eNovance SAS # # Author: Emilien Macchi # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # # == Definition: openstacklib::messaging::rabbitmq # # This resource creates RabbitMQ resources for an OpenStack service. # # == Parameters: # # [*userid*] # (optional) The username to use when connecting to Rabbit # Defaults to 'guest' # # [*password*] # (optional) The password to use when connecting to Rabbit # Defaults to 'guest' # # [*virtual_host*] # (optional) The virtual host to use when connecting to Rabbit # Defaults to '/' # # [*is_admin*] # (optional) If the user should be admin or not # Defaults to false # # [*configure_permission*] # (optional) Define configure permission # Defaults to '.*' # # [*write_permission*] # (optional) Define write permission # Defaults to '.*' # # [*read_permission*] # (optional) Define read permission # Defaults to '.*' # # [*manage_user*] # (optional) Manage or not the user # Defaults to true # # [*manage_user_permissions*] # (optional) Manage or not user permissions # Defaults to true # # [*manage_vhost*] # (optional) Manage or not the vhost # Defaults to true # define openstacklib::messaging::rabbitmq( $userid = 'guest', $password = 'guest', $virtual_host = '/', $is_admin = false, $configure_permission = '.*', $write_permission = '.*', $read_permission = '.*', $manage_user = true, $manage_user_permissions = true, $manage_vhost = true, ) { if $manage_user { if $userid == 'guest' { $is_admin_real = false } else { $is_admin_real = $is_admin } ensure_resource('rabbitmq_user', $userid, { 'admin' => $is_admin_real, 'password' => $password, 'provider' => 'rabbitmqctl', }) } if $manage_user_permissions { ensure_resource('rabbitmq_user_permissions', "${userid}@${virtual_host}", { 'configure_permission' => $configure_permission, 'write_permission' => $write_permission, 'read_permission' => $read_permission, 'provider' => 'rabbitmqctl', }) } if $manage_vhost { ensure_resource('rabbitmq_vhost', $virtual_host, { 'provider' => 'rabbitmqctl', }) } }