Add swift::config class
Other modules provide an X::config class to be able to specify parameters that are not yet part of the module. Swift was missing this feature. This commit aims to add it for puppet-swift. Change-Id: Ifb6f78f177d9cc721f8388290c983c49137a2557
This commit is contained in:
30
manifests/config.pp
Normal file
30
manifests/config.pp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# == Class: swift::config
|
||||||
|
#
|
||||||
|
# This class is used to manage arbitrary Swift configurations.
|
||||||
|
#
|
||||||
|
# === Parameters
|
||||||
|
#
|
||||||
|
# [*swift_config*]
|
||||||
|
# (optional) Allow configuration of arbitrary Swift configurations.
|
||||||
|
# The value is an hash of swift_config resources. Example:
|
||||||
|
# { 'DEFAULT/foo' => { value => 'fooValue'},
|
||||||
|
# 'DEFAULT/bar' => { value => 'barValue'}
|
||||||
|
# }
|
||||||
|
# In yaml format, Example:
|
||||||
|
# swift_config:
|
||||||
|
# DEFAULT/foo:
|
||||||
|
# value: fooValue
|
||||||
|
# DEFAULT/bar:
|
||||||
|
# value: barValue
|
||||||
|
#
|
||||||
|
# NOTE: The configuration MUST NOT be already handled by this module
|
||||||
|
# or Puppet catalog compilation will fail with duplicate resources.
|
||||||
|
#
|
||||||
|
class swift::config (
|
||||||
|
$swift_config = {},
|
||||||
|
) {
|
||||||
|
|
||||||
|
validate_hash($swift_config)
|
||||||
|
|
||||||
|
create_resources('swift_config', $swift_config)
|
||||||
|
}
|
||||||
20
spec/classes/swift_config_spec.rb
Normal file
20
spec/classes/swift_config_spec.rb
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'swift::config' do
|
||||||
|
|
||||||
|
let :params do
|
||||||
|
{ :swift_config => {
|
||||||
|
'DEFAULT/foo' => { 'value' => 'fooValue' },
|
||||||
|
'DEFAULT/bar' => { 'value' => 'barValue' },
|
||||||
|
'DEFAULT/baz' => { 'ensure' => 'absent' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'configures arbitrary swift configurations' do
|
||||||
|
is_expected.to contain_swift_config('DEFAULT/foo').with_value('fooValue')
|
||||||
|
is_expected.to contain_swift_config('DEFAULT/bar').with_value('barValue')
|
||||||
|
is_expected.to contain_swift_config('DEFAULT/baz').with_ensure('absent')
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user