+# Installs/configures the ceilometer central agent
+#
+# == Parameters
+# [*auth_url*]
+# Keystone URL. Optional. Defaults to 'http://localhost:5000/v2.0'
+#
+# [*auth_region*]
+# Keystone region. Optional. Defaults to 'RegionOne'
+#
+# [*auth_user*]
+# Keystone user for ceilometer. Optional. Defaults to 'ceilometer'
+#
+# [*auth_password*]
+# Keystone password for ceilometer. Optional. Defaults to 'password'
+#
+# [*auth_tenant_name*]
+# Keystone tenant name for ceilometer. Optional. Defauls to 'services'
+#
+# [*auth_tenant_id*]
+# Keystone tenant id for ceilometer. Optional. Defaults to ''
+#
+# [*enabled*]
+# Should the service be enabled. Optional. Defauls to true
#
class ceilometer::agent::central (
$auth_url = 'http://localhost:5000/v2.0',
# Include this class on all nova compute nodes
#
# == Parameters
-# * auth_url: the keystone public endpoint
-# *auth_region: the keystone region of this compute node
-# *auth_user: the keystone user for ceilometer services
-# *auth_password: the keystone password for ceilometer services
-# *auth_tenant_name: the keystone tenant name for ceilometer services
-# *auth_tenant_id (optional): the keystone tenant id for ceilometer services
-# *enabled: should the service be started or not
+# [*auth_url*]
+# the keystone public endpoint
+# Optional. Defaults to 'http://localhost:5000/v2.0'
+#
+# [*auth_region*]
+# the keystone region of this compute node
+# Optional. Defaults to 'RegionOne'
+#
+# [*auth_user*]
+# the keystone user for ceilometer services
+# Optional. Defaults to 'ceilometer'
+#
+# [*auth_password*]
+# the keystone password for ceilometer services
+# Optional. Defaults to 'password'
+#
+# [*auth_tenant_name*]
+# the keystone tenant name for ceilometer services
+# Optional. Defaults to 'services'
+#
+# [*auth_tenant_id*]
+# the keystone tenant id for ceilometer services.
+# Optional. Defaults to empty.
+#
+# [*enabled*]
+# should the service be started or not
+# Optional. Defaults to true
#
class ceilometer::agent::compute (
$auth_url = 'http://localhost:5000/v2.0',
# Installs the ceilometer python library.
#
# == parameters
-# * ensure - ensure state for pachage.
+# [*ensure*]
+# ensure state for pachage.
#
class ceilometer::client (
$ensure = 'present'
+# Installs the ceilometer collector service
+#
+# == Params
+# [*enabled*]
+# should the service be enabled
#
class ceilometer::collector (
$enabled = true,
+# Configures the ceilometer database
+# This class will install the required libraries depending on the driver
+# specified in the connection_string parameter
+#
+# == Parameters
+# [*database_connection*]
+# the connection string. format: [driver]://[user]:[password]@[host]/[database]
#
class ceilometer::db (
$database_connection = 'mysql://ceilometer:ceilometer@localhost/ceilometer'
# ceilometer base package & configuration
#
# == parameters
-# $metering_secret: secret key for signing messages
-# Mandatory.
-# $package_ensure: ensure state for package.
-# Optional. Defaults to 'present'
-# $verbose: should the daemons log verbose messages
-# Optional. Defaults to 'False'
-# $debug: should the daemons log debug messages
-# Optional. Defaults to 'False'
-# $rabbit_host: ip or hostname of the rabbit server
-# Optional. Defaults to '127.0.0.1'
-# $rabbit_port: port of the rabbit server
-# Optional. Defaults to 5672.
-# $rabbit_hosts: array of host:port (used with HA queues)
-# Optional. Defaults to undef.
-# If defined, will remove rabbit_host & rabbit_port parameters from config
-# $rabbit_userid: user to connect to the rabbit server
-# Optional. Defaults to 'guest'
-# $rabbit_password: password to connect to the rabbit_server
-# Optional. Defaults to empty string.
-# $rabbit_virtualhost: virtualhost to use
-# Optional. Defaults to '/'
+# [*metering_secret*]
+# secret key for signing messages. Mandatory.
+# [*package_ensure*]
+# ensure state for package. Optional. Defaults to 'present'
+# [*verbose*]
+# should the daemons log verbose messages. Optional. Defaults to 'False'
+# [*debug*]
+# should the daemons log debug messages. Optional. Defaults to 'False'
+# [*rabbit_host*]
+# ip or hostname of the rabbit server. Optional. Defaults to '127.0.0.1'
+# [*rabbit_port*]
+# port of the rabbit server. Optional. Defaults to 5672.
+# [*rabbit_hosts*]
+# array of host:port (used with HA queues). Optional. Defaults to undef.
+# If defined, will remove rabbit_host & rabbit_port parameters from config
+# [*rabbit_userid*]
+# user to connect to the rabbit server. Optional. Defaults to 'guest'
+# [*rabbit_password*]
+# password to connect to the rabbit_server. Optional. Defaults to empty.
+# [*rabbit_virtualhost*]
+# virtualhost to use. Optional. Defaults to '/'
#
class ceilometer(
$metering_secret = false,
# Parameters for puppet-ceilometer
+#
class ceilometer::params {
$dbsync_command =