rabbitmq
: A module to manage RabbitMQ
rabbitmq::config
: Sets all the configuration values for RabbitMQ and creates the directories for config and ssl.rabbitmq::install
: Ensures that rabbitmq-server existsrabbitmq::install::rabbitmqadmin
: Install rabbitmq adminrabbitmq::management
: Manage presence / absence of user resource for guest management user.rabbitmq::repo::apt
: requires puppetlabs-apt puppetlabs-stdlibrabbitmq::repo::rhel
: Makes sure that the Packagecloud repo is installedrabbitmq::service
: This class manages the rabbitmq server service itself.
rabbitmq_binding
: Native type for managing rabbitmq bindings rabbitmq_binding { 'binding 1': ensure => present, source => 'myexchange'rabbitmq_cluster
: Native type for managing rabbitmq clusterrabbitmq_erlang_cookie
: Type to manage the rabbitmq erlang cookie securely This is essentially a private type used by the rabbitmq::config class to manage the erlanrabbitmq_exchange
: Native type for managing rabbitmq exchangesrabbitmq_parameter
: Type for managing rabbitmq parametersrabbitmq_plugin
: manages rabbitmq pluginsrabbitmq_policy
: Type for managing rabbitmq policiesrabbitmq_queue
: Native type for managing rabbitmq queuerabbitmq_user
: Native type for managing rabbitmq usersrabbitmq_user_permissions
: Type for managing rabbitmq user permissionsrabbitmq_vhost
: Native type for managing rabbitmq vhosts
A module to manage RabbitMQ
include rabbitmq
class { 'rabbitmq':
service_manage => false,
port => '5672',
delete_guest_user => true,
}
class { 'rabbitmq':
key_content => template('openstack/rabbit.pub.key'),
package_gpg_key => '/tmp/rabbit.pub.key',
}
class { 'rabbitmq':
package_gpg_key => 'http://www.some_site.some_domain/some_key.pub.key',
}
class { 'rabbitmq':
key_content => template('openstack/rabbit.pub.key'),
repo_gpg_key => '/tmp/rabbit.pub.key',
}
class { 'rabbitmq':
repo_gpg_key => 'http://www.some_site.some_domain/some_key.pub.key',
}
class { 'rabbitmq':
port => '5672',
environment_variables => {
'NODENAME' => 'node01',
'SERVICENAME' => 'RabbitMQ'
}
}
class { 'rabbitmq':
port => '5672',
config_variables => {
'hipe_compile' => true,
'frame_max' => 131072,
}
}
class { 'rabbitmq':
config_variables => {
'log_levels' => "[{queue, info}]"
}
}
class { 'rabbitmq':
config_variables => {
'log' => "[{file, [{level,debug}]},{categories, [{queue, [{level,info},{file,'queue.log'}]}]}]"
}
}
class { 'rabbitmq':
port => '5672',
config_kernel_variables => {
'inet_dist_listen_min' => 9100,
'inet_dist_listen_max' => 9105,
}
}
class { 'rabbitmq':
config_management_variables => {
'rates_mode' => 'basic',
}
}
class { 'rabbitmq':
config_additional_variables => {
'autocluster' => '[{consul_service, "rabbit"},{cluster_name, "rabbit"}]',
'foo' => '[{bar, "baz"}]'
}
}
This will result in the following config appended to the config file:
{autocluster, [{consul_service, "rabbit"},{cluster_name, "rabbit"}]},
{foo, [{bar, "baz"}]}
(This is required for the [autocluster plugin](https://github.com/rabbitmq/rabbitmq-autocluster)
class { 'rabbitmq':
cluster => {
'name' => 'test_cluster',
'init_node' => 'hostname'
},
config_cluster => true,
cluster_nodes => ['rabbit1', 'rabbit2'],
cluster_node_type => 'ram',
erlang_cookie => 'A_SECRET_COOKIE_STRING',
wipe_db_on_cookie_change => true,
}
The following parameters are available in the rabbitmq
class:
admin_enable
management_enable
use_config_file_for_plugins
plugins
auth_backends
cluster
cluster_node_type
cluster_nodes
cluster_partition_handling
collect_statistics_interval
config
config_additional_variables
config_cluster
config_cowboy_opts
config_kernel_variables
config_path
config_ranch
config_management_variables
config_stomp
config_shovel
config_shovel_statics
config_variables
default_user
default_pass
delete_guest_user
env_config
env_config_path
environment_variables
erlang_cookie
file_limit
oom_score_adj
heartbeat
inetrc_config
inetrc_config_path
ipv6
interface
key_content
ldap_auth
ldap_server
ldap_user_dn_pattern
ldap_other_bind
ldap_config_variables
ldap_use_ssl
ldap_port
ldap_log
manage_python
management_hostname
management_port
management_ip_address
management_ssl
node_ip_address
package_apt_pin
package_ensure
package_gpg_key
package_source
package_provider
repo_gpg_key
package_name
port
python_package
repos_ensure
require_epel
service_ensure
service_manage
service_name
service_restart
ssl
ssl_cacert
ssl_cert
ssl_cert_password
ssl_depth
ssl_dhfile
ssl_erl_dist
ssl_honor_cipher_order
ssl_interface
ssl_key
ssl_only
ssl_management_port
ssl_management_cacert
ssl_management_cert
ssl_management_key
ssl_management_fail_if_no_peer_cert
ssl_port
ssl_reuse_sessions
ssl_secure_renegotiate
ssl_stomp_port
ssl_verify
ssl_fail_if_no_peer_cert
ssl_management_verify
ssl_versions
ssl_ciphers
ssl_crl_check
ssl_crl_cache_hash_dir
ssl_crl_cache_http_timeout
stomp_port
stomp_ssl_only
stomp_ensure
tcp_backlog
tcp_keepalive
tcp_recbuf
tcp_sndbuf
wipe_db_on_cookie_change
rabbitmq_user
rabbitmq_group
rabbitmq_home
rabbitmqadmin_package
archive_options
loopback_users
Data type: Boolean
If enabled sets up the management interface/plugin for RabbitMQ. This will also install the rabbitmqadmin command line tool.
Default value: true
Data type: Boolean
If enabled sets up the management interface/plugin for RabbitMQ. NOTE: This does not install the rabbitmqadmin command line tool.
Default value: false
Data type: Boolean
If enabled the /etc/rabbitmq/enabled_plugins config file is created, replacing the use of the rabbitmqplugins provider to enable plugins.
Default value: false
Data type: Array
Additional list of plugins to start, or to add to /etc/rabbitmq/enabled_plugins, if use_config_file_for_plugins is enabled.
Default value: []
Data type: Optional[Array]
An array specifying authorization/authentication backend to use. Single quotes should be placed around array entries,
ex. ['{foo, baz}', 'baz']
Defaults to [rabbit_auth_backend_internal], and if using LDAP defaults to [rabbit_auth_backend_internal,
rabbit_auth_backend_ldap].
Default value: undef
Data type: Hash
Join cluster and change name of cluster.
Default value: $rabbitmq::cluster
Data type: Enum['ram', 'disc']
Choose between disc and ram nodes.
Default value: 'disc'
Data type: Array
An array of nodes for clustering.
Default value: []
Data type: String
Value to set for cluster_partition_handling
RabbitMQ configuration variable.
Default value: 'ignore'
Data type: Optional[Integer]
Set the collect_statistics_interval in rabbitmq.config
Default value: undef
Data type: String
The file to use as the rabbitmq.config template.
Default value: 'rabbitmq/rabbitmq.config.epp'
Data type: Hash
Additional config variables in rabbitmq.config
Default value: {}
Data type: Boolean
Enable or disable clustering support.
Default value: false
Data type: Hash
Hash of additional configs (key / value) for cowboy_opts
in rabbitmq.config.
Default value: {}
Data type: Hash
Hash of Erlang kernel configuration variables to set (see Variables Configurable in rabbitmq.config).
Default value: {}
Data type: Stdlib::Absolutepath
The path to write the RabbitMQ configuration file to.
Default value: '/etc/rabbitmq/rabbitmq.config'
Data type: Boolean
When true, suppress config directives needed for older (<3.6) RabbitMQ versions.
Default value: true
Data type: Hash
Hash of configuration variables for the Management Plugin.
Default value: {}
Data type: Boolean
Enable or disable stomp.
Default value: false
Data type: Boolean
Enable or disable shovel.
Default value: false
Data type: Hash
Hash of static shovel configurations
Default value: {}
Data type: Hash
To set config variables in rabbitmq.config
Default value: {}
Data type: String
Username to set for the default_user
in rabbitmq.config.
Default value: 'guest'
Data type: String
Password to set for the default_user
in rabbitmq.config.
Default value: 'guest'
Data type: Boolean
Controls whether default guest user is deleted.
Default value: false
Data type: String
The template file to use for rabbitmq_env.config.
Default value: 'rabbitmq/rabbitmq-env.conf.epp'
Data type: Stdlib::Absolutepath
The path to write the rabbitmq_env.config file to.
Default value: '/etc/rabbitmq/rabbitmq-env.conf'
Data type: Hash
RabbitMQ Environment Variables in rabbitmq_env.config
Default value: { 'LC_ALL' => 'en_US.UTF-8' }
Data type: Optional[String]
The erlang cookie to use for clustering - must be the same between all nodes. This value has no default and must be set explicitly if using clustering. If you run Pacemaker and you don't want to use RabbitMQ buildin cluster, you can set config_cluster to 'False' and set 'erlang_cookie'.
Default value: undef
Data type: Variant[Integer[-1],Enum['unlimited'],Pattern[/^(infinity|\d+(:(infinity|\d+))?)$/]]
Set rabbitmq file ulimit. Defaults to 16384. Only available on Linux
Default value: 16384
Data type: Integer[-1000, 1000]
Set rabbitmq-server process OOM score. Defaults to 0.
Default value: 0
Data type: Optional[Integer]
Set the heartbeat timeout interval, default is unset which uses the builtin server defaults of 60 seconds. Setting this
Default value: undef
Data type: String
Template to use for the inetrc config
Default value: 'rabbitmq/inetrc.erb'
Data type: Stdlib::Absolutepath
Path of the file to push the inetrc config to.
Default value: '/etc/rabbitmq/inetrc'
Data type: Boolean
Whether to listen on ipv6
Default value: false
Data type: Optional[String]
Interface to bind to (sets tcp_listeners parameter). By default, bind to all interfaces
to 0
will disable heartbeats.
Default value: undef
Data type: Optional[String]
Uses content method for Debian OS family. Should be a template for apt::source class. Overrides package_gpg_key
behavior, if enabled. Undefined by default.
Default value: undef
Data type: Boolean
Set to true to enable LDAP auth.
Default value: false
Data type: Variant[String[1],Array[String[1]]]
LDAP server or servers to use for auth.
Default value: 'ldap'
Data type: Optional[String]
User DN pattern for LDAP auth.
Default value: undef
Data type: String
How to bind to the LDAP server. Defaults to 'anon'.
Default value: 'anon'
Data type: Hash
Hash of other LDAP config variables.
Default value: {}
Data type: Boolean
Set to true to use SSL for the LDAP server.
Default value: false
Data type: Integer[1, 65535]
Numeric port for LDAP server.
Default value: 389
Data type: Boolean
Set to true to log LDAP auth.
Default value: false
Data type: Boolean
If enabled, on platforms that don't provide a Python 2 package by default, ensure that the python package is
installed (for rabbitmqadmin). This will only apply if admin_enable
and service_manage
are set.
Default value: true
Data type: Optional[String]
The hostname for the RabbitMQ management interface.
Default value: undef
Data type: Integer[1, 65535]
The port for the RabbitMQ management interface.
Default value: 15672
Data type: Optional[String]
Allows you to set the IP for management interface to bind to separately. Set to 127.0.0.1 to bind to localhost only, or 0.0.0.0 to bind to all interfaces.
Default value: undef
Data type: Boolean
Enable/Disable SSL for the management port. Has an effect only if ssl => true.
Default value: true
Data type: Optional[String]
Allows you to set the IP for RabbitMQ service to bind to. Set to 127.0.0.1 to bind to localhost only, or 0.0.0.0 to bind to all interfaces.
Default value: undef
Data type: Optional[Variant[Numeric, String]]
Whether to pin the package to a particular source
Default value: undef
Data type: String
Determines the ensure state of the package. Set to installed by default, but could be changed to latest.
Default value: 'installed'
Data type: Optional[String]
RPM package GPG key to import. Uses source method. Should be a URL for Debian/RedHat OS family, or a file name for RedHat OS family. Set to https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc for Debian/RedHat OS Family by default.
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
RPM package GPG key to import. Uses source method. Should be a URL for Debian/RedHat OS family, or a file name for
RedHat OS family. Set to https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey for Debian/RedHat OS Family by
default. Note, that key_content
, if specified, would override this parameter for Debian OS family.
Default value: undef
Data type: Variant[String, Array]
Name(s) of the package(s) to install
Default value: 'rabbitmq'
Data type: Integer
The RabbitMQ port.
Default value: 5672
Data type: String
Name of the package required by rabbitmqadmin.
Default value: 'python'
Data type: Boolean
Ensure that a repo with the official (and newer) RabbitMQ package is configured, along with its signing key. Defaults to false (use system packages). This does not ensure that soft dependencies (like EPEL on RHEL systems) are present. It also does not solve the erlang dependency. See https://www.rabbitmq.com/which-erlang.html for a good breakdown of the different ways of handling the erlang deps. See also voxpupuli#788
Default value: false
Data type: Boolean
If this parameter is set, On CentOS / RHEL 7 systems, require the "puppet/epel" module
Default value: true
Data type: Enum['running', 'stopped']
The state of the service.
Default value: 'running'
Data type: Boolean
Determines if the service is managed.
Default value: true
Data type: String
The name of the service to manage.
Default value: 'rabbitmq'
Data type: Boolean
Default defined in param.pp. Whether to restart the service on config change.
Default value: true
Data type: Boolean
Configures the service for using SSL.
Default value: false
Data type: Optional[Stdlib::Absolutepath]
CA cert path to use for SSL.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Cert to use for SSL.
Default value: undef
Data type: Optional[String]
Password used when generating CSR.
Default value: undef
Data type: Optional[Integer]
SSL verification depth.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Use this dhparam file [example: generate with openssl dhparam -out /etc/rabbitmq/ssl/dhparam.pem 2048
Default value: undef
Data type: Boolean
Whether to use the erlang package's SSL (relies on the ssl_erl_path fact)
Default value: false
Data type: Boolean
Force use of server cipher order
Default value: true
Data type: Optional[String]
Interface for SSL listener to bind to
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Key to use for SSL.
Default value: undef
Data type: Boolean
Configures the service to only use SSL. No cleartext TCP listeners will be created. Requires that ssl => true and port => undef
Default value: false
Data type: Integer[1, 65535]
SSL management port.
Default value: 15671
Data type: Optional[Stdlib::Absolutepath]
SSL management cacert. If unset set to ssl_cacert for backwards compatibility.
Default value: $ssl_cacert
Data type: Optional[Stdlib::Absolutepath]
SSL management cert. If unset set to ssl_cert for backwards compatibility.
Default value: $ssl_cert
Data type: Optional[Stdlib::Absolutepath]
SSL management key. If unset set to ssl_key for backwards compatibility.
Default value: $ssl_key
Data type: Boolean
Default value: false
Data type: Integer[1, 65535]
SSL port for RabbitMQ
Default value: 5671
Data type: Boolean
Reuse ssl sessions
Default value: true
Data type: Boolean
Use ssl secure renegotiate
Default value: true
Data type: Integer[1, 65535]
SSL stomp port.
Default value: 6164
Data type: Enum['verify_none','verify_peer']
rabbitmq.config SSL verify setting.
Default value: 'verify_none'
Data type: Boolean
rabbitmq.config fail_if_no_peer_cert
setting.
Default value: false
Data type: Enum['verify_none','verify_peer']
rabbitmq.config SSL verify setting for rabbitmq_management.
Default value: 'verify_none'
Data type: Optional[Array]
Choose which SSL versions to enable. Example: ['tlsv1.2', 'tlsv1.1']
Note
that it is recommended to disable sslv3 and
tlsv1` to prevent against
POODLE and BEAST attacks. Please see the
RabbitMQ SSL documentation for more information.
Default value: undef
Data type: Array
Support only a given list of SSL ciphers, using either the Erlang or OpenSSL styles.
Supported ciphers in your install can be listed with: rabbitmqctl eval 'ssl:cipher_suites().'
Functionality can be tested with cipherscan or similar tool: https://github.com/mozilla/cipherscan
- Erlang style:
['ecdhe_rsa,aes_256_cbc,sha', 'dhe_rsa,aes_256_cbc,sha']
- OpenSSL style:
['ECDHE-RSA-AES256-SHA', 'DHE-RSA-AES256-SHA']
Default value: []
Data type: Enum['true','false','peer','best_effort']
Perform CRL (Certificate Revocation List) verification Please see the Erlang SSL module documentation for more information.
Default value: 'false'
Data type: Optional[Stdlib::Absolutepath]
This setting makes use of a directory where CRLs are stored in files named by the hash of the issuer name. Please see the Erlang SSL module documentation for more information.
Default value: undef
Data type: Optional[Integer]
This setting enables use of internal CRLs cache and sets HTTP timeout interval on fetching CRLs from distributino URLs defined inside certificate. Please see the Erlang SSL module documentation for more information.
Default value: undef
Data type: Integer[1, 65535]
The port to use for Stomp.
Default value: 6163
Data type: Boolean
Configures STOMP to only use SSL. No cleartext STOMP TCP listeners will be created. Requires setting ssl_stomp_port also.
Default value: false
Data type: Boolean
Enable to install the stomp plugin.
Default value: false
Data type: Integer
The size of the backlog on TCP connections.
Default value: 128
Data type: Boolean
Enable TCP connection keepalive for RabbitMQ service.
Default value: false
Data type: Optional[Integer]
Corresponds to recbuf in RabbitMQ tcp_listen_options
Default value: undef
Data type: Optional[Integer]
Integer, corresponds to sndbuf in RabbitMQ tcp_listen_options
Default value: undef
Data type: Boolean
Boolean to determine if we should DESTROY AND DELETE the RabbitMQ database.
Default value: false
Data type: String
OS dependent The system user the rabbitmq daemon runs as.
Default value: 'rabbitmq'
Data type: String
OS dependent The system group the rabbitmq daemon runs as.
Default value: 'rabbitmq'
Data type: Stdlib::Absolutepath
OS dependent The home directory of the rabbitmq deamon.
Default value: '/var/lib/rabbitmq'
Data type: Optional[String]
OS dependent If undef: install rabbitmqadmin via archive, otherwise via package
Default value: undef
Data type: Array
Extra options to Archive resource to download rabbitmqadmin file
Default value: []
Data type: Array
This option configures a list of users to allow access via the loopback interfaces
Default value: ['guest']
Native type for managing rabbitmq bindings
rabbitmq_binding { 'binding 1': ensure => present, source => 'myexchange', destination => 'myqueue', vhost => 'myvhost', user => 'dan', password => 'bar', destination_type => 'queue', routing_key => 'key1', arguments => {}, }
rabbitmq_binding { 'binding 2': ensure => present, source => 'myexchange', destination => 'myqueue', vhost => 'myvhost', user => 'dan', password => 'bar', destination_type => 'queue', routing_key => 'key2', arguments => {}, }
rabbitmq_binding { 'myexchange@myqueue@myvhost':
user => 'dan',
password => 'bar',
destination_type => 'queue',
routing_key => '#',
arguments => {},
ensure => present,
}
Create bindings with same source / destination / vhost but different routing key using individual parameters
The following properties are available in the rabbitmq_binding
type.
binding arguments
Default value: {}
Valid values: %r{^\S+$}
namevar
destination of binding
Valid values: %r{queue|exchange}
binding destination_type
Default value: queue
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
Valid values: %r{^\S*$}
namevar
binding routing_key
Valid values: %r{^\S+$}
namevar
source of binding
Valid values: %r{^\S+$}
namevar
vhost
Default value: /
The following parameters are available in the rabbitmq_binding
type.
namevar
resource name, either source@destination@vhost or arbitrary name with params
Valid values: %r{\S+}
The password to use to connect to rabbitmq
Default value: guest
The specific backend to use for this rabbitmq_binding
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Valid values: %r{^\S+$}
The user to use to connect to rabbitmq
Default value: guest
Native type for managing rabbitmq cluster
rabbitmq_cluster { 'rabbit_cluster':
init_node => 'host1'
}
To set the cluster name use cluster_name.
rabbitmq_cluster { 'rabbit_cluster':
init_node => 'host1',
node_disc_type => 'ram',
}
The following properties are available in the rabbitmq_cluster
type.
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
The following parameters are available in the rabbitmq_cluster
type.
Name of which cluster node to join.
Name of the local node
Default value: undef
namevar
The cluster name
Valid values: %r{disc|ram}
Storage type of node, default disc.
Default value: disc
The specific backend to use for this rabbitmq_cluster
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Type to manage the rabbitmq erlang cookie securely
This is essentially a private type used by the rabbitmq::config class to manage the erlang cookie. It replaces the rabbitmq_erlang_cookie fact from earlier versions of this module. It manages the content of the cookie usually located at "${rabbitmq_home}/.erlang.cookie", which includes stopping the rabbitmq service and wiping out the database at "${rabbitmq_home}/mnesia" if the user agrees to it. We don't recommend using this type directly.
The following properties are available in the rabbitmq_erlang_cookie
type.
Valid values: %r{^\S+$}
Content of cookie
The following parameters are available in the rabbitmq_erlang_cookie
type.
Valid values: true
, false
Force parameter
Default value: false
Path of the erlang cookie
The specific backend to use for this rabbitmq_erlang_cookie
resource. You will seldom need to specify this --- Puppet
will usually discover the appropriate provider for your platform.
Rabbitmq Group
Default value: rabbitmq
Path to the rabbitmq home directory
Default value: /var/lib/rabbitmq
Rabbitmq User
Default value: rabbitmq
Valid values: %r{^\S+$}
Name of the service
Native type for managing rabbitmq exchanges
rabbitmq_exchange { 'myexchange@myvhost':
user => 'dan',
password => 'bar',
type => 'topic',
ensure => present,
internal => false,
auto_delete => false,
durable => true,
arguments => {
hash-header => 'message-distribution-hash'
}
}
The following properties are available in the rabbitmq_exchange
type.
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
The following parameters are available in the rabbitmq_exchange
type.
Exchange arguments example: {"hash-header": "message-distribution-hash"}
Default value: {}
Valid values: %r{^\S+$}
Exchange auto delete option to be set on creation
Default value: false
Valid values: %r{^\S+$}
Exchange durability to be set on creation
Default value: false
Valid values: %r{^\S+$}
Exchange internal option to be set on creation
Default value: false
Valid values: %r{^\S*@\S+$}
namevar
Name of exchange
Valid values: %r{\S+}
The password to use to connect to rabbitmq
Default value: guest
The specific backend to use for this rabbitmq_exchange
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Valid values: %r{^\S+$}
Exchange type to be set on creation
Valid values: %r{^\S+$}
The user to use to connect to rabbitmq
Default value: guest
Type for managing rabbitmq parameters
rabbitmq_parameter { 'documentumShovel@/':
component_name => '',
value => {
'src-uri' => 'amqp://',
'src-queue' => 'my-queue',
'dest-uri' => 'amqp://remote-server',
'dest-queue' => 'another-queue',
},
}
rabbitmq_parameter { 'documentumFed@/':
component_name => 'federation-upstream',
value => {
'uri' => 'amqp://myserver',
'expires' => '360000',
},
}
rabbitmq_parameter { 'documentumShovelNoMunging@/':
component_name => '',
value => {
'src-uri' => 'amqp://',
'src-exchange' => 'my-exchange',
'src-exchange-key' => '6',
'src-queue' => 'my-queue',
'dest-uri' => 'amqp://remote-server',
'dest-exchange' => 'another-exchange',
},
autoconvert => false,
}
The following properties are available in the rabbitmq_parameter
type.
The component_name to use when setting parameter, eg: shovel or federation
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
A hash of values to use with the component name you are setting
The following parameters are available in the rabbitmq_parameter
type.
Valid values: true
, false
whether numeric strings from value
should be converted to int automatically
Default value: true
Valid values: %r{^\S+@\S+$}
namevar
combination of name@vhost to set parameter for
The specific backend to use for this rabbitmq_parameter
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
manages rabbitmq plugins
$ puppet resource rabbitmq_plugin
rabbitmq_plugin {'rabbitmq_stomp':
ensure => present,
}
rabbitmq_plugin {'rabbitmq_stomp':
ensure => present,
mode => 'offline',
}
The following properties are available in the rabbitmq_plugin
type.
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
The following parameters are available in the rabbitmq_plugin
type.
Valid values: online
, offline
, best
Define how the plugin should be enabled regarding node status.
Default value: best
Valid values: %r{^\S+$}
namevar
The name of the plugin to enable
The specific backend to use for this rabbitmq_plugin
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Sets the octal umask to be used while creating this resource
Default value: 0022
Type for managing rabbitmq policies
rabbitmq_policy { 'ha-all@myvhost':
pattern => '.*',
priority => 0,
applyto => 'all',
definition => {
'ha-mode' => 'all',
'ha-sync-mode' => 'automatic',
},
}
The following properties are available in the rabbitmq_policy
type.
Valid values: all
, classic_queues
, exchanges
, queues
, quorum_queues
, streams
policy apply to
Default value: all
policy definition
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
policy pattern
Valid values: %r{^\d+$}
policy priority
Default value: 0
The following parameters are available in the rabbitmq_policy
type.
Valid values: %r{^\S+@\S+$}
namevar
combination of policy@vhost to create policy for
The specific backend to use for this rabbitmq_policy
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Native type for managing rabbitmq queue
rabbitmq_queue { 'myqueue@myvhost':
ensure => present,
user => 'dan',
password => 'bar',
durable => true,
auto_delete => false,
arguments => {
x-message-ttl => 123,
x-dead-letter-exchange => 'other'
},
}
The following properties are available in the rabbitmq_queue
type.
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
The following parameters are available in the rabbitmq_queue
type.
Queue arguments example: {x-message-ttl => 60, x-expires => 10}
Default value: {}
Valid values: %r{true|false}
Queue will be auto deleted
Default value: false
Valid values: %r{true|false}
Queue is durable
Default value: true
Valid values: %r{^\S*@\S+$}
namevar
Name of queue
Valid values: %r{\S+}
The password to use to connect to rabbitmq
Default value: guest
The specific backend to use for this rabbitmq_queue
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Valid values: %r{^\S+$}
The user to use to connect to rabbitmq
Default value: guest
Native type for managing rabbitmq users
$ puppet resource rabbitmq_user
rabbitmq_user { 'dan':
admin => true,
password => 'bar',
}
To set the administrator tag use admin-flag.
rabbitmq_user { 'dan':
admin => true,
password => 'bar',
tags => ['monitoring', 'tag1'],
}
The following properties are available in the rabbitmq_user
type.
Valid values: %r{true|false}
whether or not user should be an admin
Default value: false
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
User password to be set on creation and validated each run
additional tags for the user
Default value: []
The following parameters are available in the rabbitmq_user
type.
Valid values: %r{^\S+$}
namevar
Name of user
The specific backend to use for this rabbitmq_user
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Type for managing rabbitmq user permissions
rabbitmq_user_permissions { 'dan@myvhost':
configure_permission => '.*',
read_permission => '.*',
write_permission => '.*',
}
The following properties are available in the rabbitmq_user_permissions
type.
regexp representing configuration permissions
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
regexp representing read permissions
regexp representing write permissions
The following parameters are available in the rabbitmq_user_permissions
type.
Valid values: %r{^\S+@\S+$}
namevar
combination of user@vhost to grant privileges to
The specific backend to use for this rabbitmq_user_permissions
resource. You will seldom need to specify this ---
Puppet will usually discover the appropriate provider for your platform.
Native type for managing rabbitmq vhosts
$ puppet resource rabbitmq_vhost`
rabbitmq_vhost { 'myvhost':
ensure => present,
description => 'myvhost description',
tags => ['tag1', 'tag2'],
default_queue_type => 'quorum',
}
The following properties are available in the rabbitmq_vhost
type.
Valid values: classic
, quorum
, stream
The default queue type for queues in this vhost
A description of the vhost
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
additional tags for the vhost
Default value: []
The following parameters are available in the rabbitmq_vhost
type.
Valid values: %r{^\S+$}
namevar
The name of the vhost to add
The specific backend to use for this rabbitmq_vhost
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.