diff --git a/manifests/init.pp b/manifests/init.pp index 307c7e18..6684b795 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -114,6 +114,10 @@ # (Optional) TTL Value. # Defaults to $::os_service_default. # +# [*supported_record_type*] +# (Optional) Supported record types. +# Defaults to $::os_service_default. +# class designate( $package_ensure = present, $common_package_name = $::designate::params::common_package_name, @@ -138,6 +142,7 @@ class designate( $purge_config = false, $amqp_durable_queues = $::os_service_default, $default_ttl = $::os_service_default, + $supported_record_type = $::os_service_default, ) inherits designate::params { include designate::deps @@ -179,10 +184,11 @@ class designate( # default setting designate_config { - 'DEFAULT/host': value => $host; - 'DEFAULT/root_helper': value => $root_helper; - 'DEFAULT/state_path' : value => $state_path; - 'DEFAULT/default_ttl': value => $default_ttl; + 'DEFAULT/host': value => $host; + 'DEFAULT/root_helper': value => $root_helper; + 'DEFAULT/state_path' : value => $state_path; + 'DEFAULT/default_ttl': value => $default_ttl; + 'DEFAULT/supported_record_type': value => join(any2array($supported_record_type), ','); } } diff --git a/releasenotes/notes/supported_record_type-546faa485d24bb5d.yaml b/releasenotes/notes/supported_record_type-546faa485d24bb5d.yaml new file mode 100644 index 00000000..998e866e --- /dev/null +++ b/releasenotes/notes/supported_record_type-546faa485d24bb5d.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + The new ``designate::supported_record_type`` parameter has been added. diff --git a/spec/classes/designate_init_spec.rb b/spec/classes/designate_init_spec.rb index 4ba00138..ee542c39 100644 --- a/spec/classes/designate_init_spec.rb +++ b/spec/classes/designate_init_spec.rb @@ -38,15 +38,17 @@ describe 'designate' do is_expected.to contain_designate_config('DEFAULT/host').with_value('') is_expected.to contain_designate_config('DEFAULT/state_path').with_value('/var/lib/designate') is_expected.to contain_designate_config('DEFAULT/default_ttl').with_value('') + is_expected.to contain_designate_config('DEFAULT/supported_record_type').with_value('') end end context 'with parameters' do let :params do { - :host => 'current_hostname', - :state_path => '/var/tmp/designate', - :default_ttl => 3600 + :host => 'current_hostname', + :state_path => '/var/tmp/designate', + :default_ttl => 3600, + :supported_record_type => 'A,AAAA' } end @@ -54,9 +56,19 @@ describe 'designate' do is_expected.to contain_designate_config('DEFAULT/host').with_value('current_hostname') is_expected.to contain_designate_config('DEFAULT/state_path').with_value('/var/tmp/designate') is_expected.to contain_designate_config('DEFAULT/default_ttl').with_value(3600) + is_expected.to contain_designate_config('DEFAULT/supported_record_type').with_value('A,AAAA') end end + context 'with supported_record_type (array)' do + let :params do + { :supported_record_type => ['A', 'AAAA'] } + end + + it 'configures the given values' do + is_expected.to contain_designate_config('DEFAULT/supported_record_type').with_value('A,AAAA') + end + end end shared_examples_for 'a designate base installation' do