Xingchao Yu 9b40aa5692 Introduce cinder:config to manage custom options
This cinder::config is aim to use cinder config resources
to manage custom configurations in cinder config files.

This will make end user easy to add their own custom options
in Hiera data.

Fully implements blueprint cinder-custom-config

Change-Id: I58faf3f4c76b2eb2077552036a239b60103ee965
2014-04-03 18:26:21 +08:00

40 lines
1.1 KiB
Puppet

# == Class: cinder::config
#
# This class is used to manage arbitrary cinder configurations.
#
# === Parameters
#
# [*xxx_config*]
# (optional) Allow configuration of arbitrary cinder configurations.
# The value is an hash of xxx_config resources. Example:
# { 'DEFAULT/foo' => { value => 'fooValue'},
# 'DEFAULT/bar' => { value => 'barValue'}
# }
#
# In yaml format, Example:
# xxx_config:
# DEFAULT/foo:
# value: fooValue
# DEFAULT/bar:
# value: barValue
#
# [**cinder_config**]
# (optional) Allow configuration of cinder.conf configurations.
#
# [**api_paste_ini_config**]
# (optional) Allow configuration of /etc/cinder/api-paste.ini configurations.
#
# NOTE: The configuration MUST NOT be already handled by this module
# or Puppet catalog compilation will fail with duplicate resources.
#
class cinder::config (
$cinder_config = {},
$api_paste_ini_config = {},
) {
validate_hash($cinder_config)
validate_hash($api_paste_ini_config)
create_resources('cinder_config', $cinder_config)
create_resources('cinder_api_paste_ini', $api_paste_ini_config)
}