-##Reference
-
-##Classes
-
-* rabbitmq: Main class for installation and service management.
-* rabbitmq::config: Main class for rabbitmq configuration/management.
-* rabbitmq::install: Handles package installation.
-* rabbitmq::params: Different configuration data for different systems.
-* rabbitmq::service: Handles the rabbitmq service.
-* rabbitmq::repo::apt: Handles apt repo for Debian systems.
-* rabbitmq::repo::rhel: Handles rpm repo for Redhat systems.
-
-###Parameters
-
-####`admin_enable`
-
-Boolean, if enabled sets up the management interface/plugin for RabbitMQ.
-
-####`cluster_node_type`
-
-Choose between disk and ram nodes.
-
-####`cluster_nodes`
-
-An array of nodes for clustering.
-
-####`cluster_partition_handling`
-
-Value to set for `cluster_partition_handling` RabbitMQ configuration variable.
-
-####`config`
-
-The file to use as the rabbitmq.config template.
-
-####`config_cluster`
-
-Boolean to enable or disable clustering support.
-
-####`config_kernel_variables`
-
-Hash of Erlang kernel configuration variables to set (see [Variables Configurable in rabbitmq.config](#variables-configurable-in-rabbitmq.config)).
-
-####`config_mirrored_queues`
-
-DEPRECATED
-
-Configuring queue mirroring should be done by setting the according policy for
-the queue. You can read more about it
-[here](http://www.rabbitmq.com/ha.html#genesis)
-
-####`config_path`
-
-The path to write the RabbitMQ configuration file to.
-
-####`config_stomp`
-
-Boolean to enable or disable stomp.
-
-####`config_variables`
-
-To set config variables in rabbitmq.config
-
-####`default_user`
-
-Username to set for the `default_user` in rabbitmq.config.
-
-####`default_pass`
-
-Password to set for the `default_user` in rabbitmq.config.
-
-####`delete_guest_user`
-
-Boolean to decide if we should delete the default guest user.
-
-####`env_config`
-
-The template file to use for rabbitmq_env.config.
-
-####`env_config_path`
-
-The path to write the rabbitmq_env.config file to.
-
-####`environment_variables`
-
-RabbitMQ Environment Variables in rabbitmq_env.config
-
-####`erlang_cookie`
-
-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.
-
-####`file_limit`
-
-Set rabbitmq file ulimit. Defaults to 16384. Only available on systems with
-`$::osfamily == 'Debian'` or `$::osfamily == 'RedHat'`.
-
-####`key_content`
-
-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.
-
-####`ldap_auth`
-
-Boolean, set to true to enable LDAP auth.
-
-####`ldap_server`
-
-LDAP server to use for auth.
-
-####`ldap_user_dn_pattern`
-
-User DN pattern for LDAP auth.
-
-####`ldap_other_bind`
-
-How to bind to the LDAP server. Defaults to 'anon'.
-
-####`ldap_config_variables`
-
-Hash of other LDAP config variables.
-
-####`ldap_use_ssl`
-
-Boolean, set to true to use SSL for the LDAP server.
-
-####`ldap_port`
-
-Numeric port for LDAP server.
-
-####`ldap_log`
-
-Boolean, set to true to log LDAP auth.
-
-####`manage_repos`
-
-Boolean, whether or not to manage package repositories.
-
-####`management_port`
-
-The port for the RabbitMQ management interface.
-
-####`node_ip_address`
-
-The value of NODE_IP_ADDRESS in rabbitmq_env.config
-
-####`package_ensure`
-
-Determines the ensure state of the package. Set to installed by default, but could
-be changed to latest.
-
-####`package_gpg_key`
-
-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 http://www.rabbitmq.com/rabbitmq-signing-key-public.asc by default.
-Note, that `key_content`, if specified, would override this parameter for Debian OS family.
-
-####`package_name`
-
-The name of the package to install.
-
-####`package_provider`
-
-What provider to use to install the package.
-
-####`package_source`
-
-Where should the package be installed from?
-
-On Debian- and Arch-based systems using the default package provider,
-this parameter is ignored and the package is installed from the
-rabbitmq repository, if enabled with manage_repo => true, or from the
-system repository otherwise. If you want to use dpkg as the
-package_provider, you must specify a local package_source.
-
-####`plugin_dir`
-
-Location of RabbitMQ plugins.
-
-####`port`
-
-The RabbitMQ port.
-
-####`service_ensure`
-
-The state of the service.
-
-####`service_manage`
-
-Determines if the service is managed.
-
-####`service_name`
-
-The name of the service to manage.
-
-####`ssl`
-
-Configures the service for using SSL.
-
-####`ssl_only`
-
-Configures the service to only use SSL. No cleartext TCP listeners will be created.
-Requires that ssl => true and port => UNSET also
-
-####`ssl_cacert`
-
-CA cert path to use for SSL.
-
-####`ssl_cert`
-
-Cert to use for SSL.
-
-####`ssl_key`
-
-Key to use for SSL.
-
-####`ssl_management_port`
-
-SSL management port.
-
-####`ssl_stomp_port`
-
-SSL stomp port.
-
-####`ssl_verify`
-
-rabbitmq.config SSL verify setting.
-
-####`ssl_fail_if_no_peer_cert`
-
-rabbitmq.config `fail_if_no_peer_cert` setting.
-
-####`ssl_versions`
-
-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](https://www.rabbitmq.com/ssl.html) documentation for more information.
-
-####`ssl_ciphers`
-
-Support only a given list of SSL ciphers. Example: `['dhe_rsa,aes_256_cbc,sha','dhe_dss,aes_256_cbc,sha','ecdhe_rsa,aes_256_cbc,sha']`.
-
-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/jvehent/cipherscan.git
-
-####`stomp_port`
-
-The port to use for Stomp.
-
-####`stomp_ensure`
-
-Boolean to install the stomp plugin.
-
-####`tcp_keepalive`
-
-Boolean to enable TCP connection keepalive for RabbitMQ service.
-
-####`version`
-
-Sets the version to install.
-
-On Debian- and Arch-based operating systems, the version parameter is
-ignored and the latest version is installed from the rabbitmq
-repository, if enabled with manage_repo => true, or from the system
-repository otherwise.
-
-####`wipe_db_on_cookie_change`
-
-Boolean to determine if we should DESTROY AND DELETE the RabbitMQ database.
-
-####`rabbitmq_user`
-
-String: OS dependent, default defined in param.pp. The system user the rabbitmq daemon runs as.
-
-####`rabbitmq_group`
-
-String: OS dependent, default defined in param.pp. The system group the rabbitmq daemon runs as.
-
-####`rabbitmq_home`
-
-String: OS dependent. default defined in param.pp. The home directory of the rabbitmq deamon.
-
-##Native Types
-