2 class rabbitmq::install::rabbitmqadmin {
4 if $rabbitmq::rabbitmqadmin_package {
5 package{'rabbitmqadmin':
7 name => $rabbitmq::rabbitmqadmin_package,
11 $python_package = $rabbitmq::params::python_package
12 # Some systems (e.g., Ubuntu 16.04) don't ship Python 2 by default
13 if $rabbitmq::manage_python {
14 ensure_packages([$python_package])
15 $rabbitmqadmin_require = [Archive['rabbitmqadmin'], Package[$python_package]]
17 $rabbitmqadmin_require = Archive['rabbitmqadmin']
20 if($rabbitmq::ssl and $rabbitmq::management_ssl) {
21 $management_port = $rabbitmq::ssl_management_port
24 $management_port = $rabbitmq::management_port
28 $default_user = $rabbitmq::default_user
29 $default_pass = $rabbitmq::default_pass
30 $management_ip_address = $rabbitmq::management_ip_address
31 $archive_options = $rabbitmq::archive_options
33 if !($management_ip_address) {
34 # Pull from localhost if we don't have an explicit bind address
36 $sanitized_ip = '127.0.0.1'
37 } elsif is_ipv6_address($management_ip_address) {
38 $curl_prefix = "--noproxy ${management_ip_address} -g -6"
39 $sanitized_ip = join(enclose_ipv6(any2array($management_ip_address)), ',')
41 $curl_prefix = "--noproxy ${management_ip_address}"
42 $sanitized_ip = $management_ip_address
45 archive { 'rabbitmqadmin':
46 path => "${rabbitmq::rabbitmq_home}/rabbitmqadmin",
47 source => "${protocol}://${sanitized_ip}:${management_port}/cli/rabbitmqadmin",
48 username => $default_user,
49 password => $default_pass,
50 allow_insecure => true,
51 download_options => $archive_options,
54 Class['rabbitmq::service'],
55 Rabbitmq_plugin['rabbitmq_management']
59 file { '/usr/local/bin/rabbitmqadmin':
62 source => "${rabbitmq::rabbitmq_home}/rabbitmqadmin",
64 require => $rabbitmqadmin_require,