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
	 Yanis Guenane
					Yanis Guenane