From 20085c8866294ab0b3c05d514f03e9819f4900b2 Mon Sep 17 00:00:00 2001 From: Philipp Tölke Date: Thu, 9 Jun 2016 15:44:11 +0200 Subject: Add parameter to disable automatic join of domain --- manifests/server/ads.pp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'manifests/server') diff --git a/manifests/server/ads.pp b/manifests/server/ads.pp index 757d091..d7d462c 100644 --- a/manifests/server/ads.pp +++ b/manifests/server/ads.pp @@ -21,7 +21,8 @@ class samba::server::ads($ensure = present, $map_system = 'no', $map_archive = 'no', $map_readonly = 'no', - $target_ou = 'Nix_Mashine') { + $target_ou = 'Nix_Mashine', + $perform_join = true) { $krb5_user_package = $::osfamily ? { 'RedHat' => 'krb5-workstation', @@ -122,10 +123,12 @@ class samba::server::ads($ensure = present, 'samba-winbind use default domain'], Service['winbind'] ], } - exec {'join-active-directory': - # join the domain configured in samba.conf - command => '/sbin/configure_active_directory -j', - unless => '/sbin/verify_active_directory', - require => [ File['configure_active_directory', 'verify_active_directory'], Service['winbind'] ], + if ($perform_join) { + exec {'join-active-directory': + # join the domain configured in samba.conf + command => '/sbin/configure_active_directory -j', + unless => '/sbin/verify_active_directory', + require => [ File['configure_active_directory', 'verify_active_directory'], Service['winbind'] ], + } } } -- cgit v1.2.3 From ac7073b8633b361788cc6a2d08f42a8cc532593f Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Tue, 28 Jun 2016 23:42:10 +1000 Subject: Adding the option for setting root preexec on a share --- manifests/server/share.pp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index b0690bb..d93cc0b 100755 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -30,6 +30,7 @@ define samba::server::share($ensure = present, $store_dos_attributes = '', $strict_allocate = '', $hide_dot_files = '', + $root_preexec = '', ) { $incl = $samba::server::incl @@ -183,6 +184,10 @@ define samba::server::share($ensure = present, false => "set \"${target}/hide dot files\" no", default => "rm \"${target}/hide dot files\"", }, + $root_preexec ? { + '' => "rm \"${target}/root preexec\"", + default => "set \"${target}/root preexec\" '${root_preexec}'", + }, ] augeas { "${name}-changes": -- cgit v1.2.3 From 2229e9dcaf7ab7e82a77a7421deb8879e1204de6 Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 6 Jul 2016 03:36:29 +1000 Subject: Adding tests for more share settings --- manifests/server/share.pp | 12 +- spec/defines/samba__server__share_spec.rb | 1076 ++++++++++++++++++++++++++++- 2 files changed, 1061 insertions(+), 27 deletions(-) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index d93cc0b..be4ee1e 100755 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -160,23 +160,23 @@ define samba::server::share($ensure = present, default => "rm \"${target}/strict allocate\"", }, $valid_users ? { - '' => "rm \"${target}/valid users\"", + '' => "rm \"${target}/valid users\"", default => "set \"${target}/valid users\" '${valid_users}'", }, $op_locks ? { - '' => "rm \"${target}/oplocks\"", + '' => "rm \"${target}/oplocks\"", default => "set \"${target}/oplocks\" '${op_locks}'", }, $level2_oplocks ? { - '' => "rm \"${target}/level2 oplocks\"", + '' => "rm \"${target}/level2 oplocks\"", default => "set \"${target}/level2 oplocks\" '${level2_oplocks}'", }, $veto_oplock_files ? { - '' => "rm \"${target}/veto oplock files\"", + '' => "rm \"${target}/veto oplock files\"", default => "set \"${target}/veto oplock files\" '${veto_oplock_files}'", }, $write_list ? { - '' => "rm \"${target}/write list\"", + '' => "rm \"${target}/write list\"", default => "set \"${target}/write list\" '${write_list}'", }, $hide_dot_files ? { @@ -185,7 +185,7 @@ define samba::server::share($ensure = present, default => "rm \"${target}/hide dot files\"", }, $root_preexec ? { - '' => "rm \"${target}/root preexec\"", + '' => "rm \"${target}/root preexec\"", default => "set \"${target}/root preexec\" '${root_preexec}'", }, ] diff --git a/spec/defines/samba__server__share_spec.rb b/spec/defines/samba__server__share_spec.rb index 26c39a1..656b8b0 100644 --- a/spec/defines/samba__server__share_spec.rb +++ b/spec/defines/samba__server__share_spec.rb @@ -2,7 +2,23 @@ require 'spec_helper' describe 'samba::server::share', :type => :define do let(:pre_condition){ 'class{"samba::server":}'} - on_supported_os.each do |os, facts| + on_supported_os({ + :hardwaremodels => ['x86_64'], + :supported_os => [ + { + "operatingsystem" => "Ubuntu", + "operatingsystemrelease" => [ + "14.04" + ] + }, + { + "operatingsystem" => "CentOS", + "operatingsystemrelease" => [ + "7" + ] + } + ], + }).each do |os, facts| context "When on an #{os} system" do let(:facts) do facts.merge({ @@ -23,14 +39,14 @@ describe 'samba::server::share', :type => :define do :lens => 'Samba.lns', :context => '/files/etc/samba/smb.conf', :changes => ["set target[. = 'test_share'] 'test_share'"], - :requires => 'Class[Samba::Server::Config]', - :notify => 'Class[Samba::Server::Service]') + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') } it { is_expected.to contain_augeas('test_share-changes').with( :incl => '/etc/samba/smb.conf', :lens => 'Samba.lns', :context => '/files/etc/samba/smb.conf', - :requires => 'Augeas[test_share-section]', + :require => 'Augeas[test_share-section]', :notify => 'Class[Samba::Server::Service]') } end#no params @@ -41,10 +57,14 @@ describe 'samba::server::share', :type => :define do :ensure => 'absent' }} - it 'should not contain the share' do - skip 'this is not working' - should_not contain_samba__server__share('test_share') - end + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["rm target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } end#no params context 'when called with available set to true' do @@ -59,20 +79,219 @@ describe 'samba::server::share', :type => :define do :lens => 'Samba.lns', :context => '/files/etc/samba/smb.conf', :changes => ["set target[. = 'test_share'] 'test_share'"], - :requires => 'Class[Samba::Server::Config]', - :notify => 'Class[Samba::Server::Service]') + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') } it { is_expected.to contain_augeas('test_share-changes').with( :incl => '/etc/samba/smb.conf', :lens => 'Samba.lns', :context => '/files/etc/samba/smb.conf', - :changes => ["set \"target[. = 'test_share']/available\" yes"], - :requires => 'Augeas[test_share-section]', - :notify => 'Class[Samba::Server::Service]') + :changes => [ + "set \"target[. = 'test_share']/available\" yes", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') } - end#no params + end#available true + + context 'when called with available set to false' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :available => false, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "set \"target[. = 'test_share']/available\" no", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#available false + + context 'when called with browsable set to true' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :browsable => true, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "set \"target[. = 'test_share']/browsable\" yes", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#browsable false - context 'when called with root_preexec set to something' do + context 'when called with browsable set to false' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :browsable => false, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "set \"target[. = 'test_share']/browsable\" no", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#browsable false + + context 'when called with root_preexec set to /bin/true' do let(:title) { 'test_share' } let(:params) {{ :ensure => 'present', @@ -84,18 +303,833 @@ describe 'samba::server::share', :type => :define do :lens => 'Samba.lns', :context => '/files/etc/samba/smb.conf', :changes => ["set target[. = 'test_share'] 'test_share'"], - :requires => 'Class[Samba::Server::Config]', - :notify => 'Class[Samba::Server::Service]') + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') } it { is_expected.to contain_augeas('test_share-changes').with( :incl => '/etc/samba/smb.conf', :lens => 'Samba.lns', :context => '/files/etc/samba/smb.conf', - :changes => ["set \"target[. = 'test_share']/root_preexec\" /bin/true"], - :requires => 'Augeas[test_share-section]', - :notify => 'Class[Samba::Server::Service]') + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "set \"target[. = 'test_share']/root preexec\" '/bin/true'" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') } - end#no params + end#root_preexec + + context 'when called with comment set to "testing testing"' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :comment => 'testing testing', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "set \"target[. = 'test_share']/comment\" 'testing testing'", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#comment + + context 'when called with copy set to "testing testing"' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :copy => 'testing testing', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "set \"target[. = 'test_share']/copy\" 'testing testing'", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#copy + + context 'when called with create_mask set to "755"' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :create_mask => '755', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "set \"target[. = 'test_share']/create mask\" '755'", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#create mask + + context 'when called with directory_mask set to "755"' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :directory_mask => '755', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "set \"target[. = 'test_share']/directory mask\" '755'", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#directory_mask + + context 'when called with force_create_mask set to "755"' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :force_create_mask => '755', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "set \"target[. = 'test_share']/force create mask\" '755'", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#force_create_mask + + context 'when called with force_directory_mode set to "755"' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :force_directory_mode => '755', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "set \"target[. = 'test_share']/force directory mode\" '755'", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#force_directory_mode + + context 'when called with force_group set to "nogroup"' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :force_group => 'nogroup', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "set \"target[. = 'test_share']/force group\" 'nogroup'", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#force_group + + context 'when called with force_user set to "nobody"' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :force_user => 'nobody', + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "set \"target[. = 'test_share']/force user\" 'nobody'", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#force_user + + context 'when called with guest_ok set to true' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :guest_ok => true, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "set \"target[. = 'test_share']/guest ok\" yes", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#guest_ok true + + context 'when called with guest_ok set to false' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :guest_ok => false, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "set \"target[. = 'test_share']/guest ok\" no", + "rm \"target[. = 'test_share']/guest only\"", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#guest_ok false + + context 'when called with guest_only set to true' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :guest_only => true, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "set \"target[. = 'test_share']/guest only\" yes", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#guest_only false + + context 'when called with guest_only set to false' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :guest_only => false, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "set \"target[. = 'test_share']/guest only\" no", + "rm \"target[. = 'test_share']/hide unreadable\"", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#guest_only false + + context 'when called with hide_unreadable set to true' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :hide_unreadable => true, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "set \"target[. = 'test_share']/hide unreadable\" yes", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#hide_unreadable true + + context 'when called with hide_unreadable set to false' do + let(:title) { 'test_share' } + let(:params) {{ + :ensure => 'present', + :hide_unreadable => false, + }} + it { is_expected.to contain_samba__server__share('test_share') } + it { is_expected.to contain_augeas('test_share-section').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => ["set target[. = 'test_share'] 'test_share'"], + :require => 'Class[Samba::Server::Config]', + :notify => 'Class[Samba::Server::Service]') + } + it { is_expected.to contain_augeas('test_share-changes').with( + :incl => '/etc/samba/smb.conf', + :lens => 'Samba.lns', + :context => '/files/etc/samba/smb.conf', + :changes => [ + "rm \"target[. = 'test_share']/available\"", + "rm \"target[. = 'test_share']/browsable\"", + "rm \"target[. = 'test_share']/comment\"", + "rm \"target[. = 'test_share']/copy\"", + "rm \"target[. = 'test_share']/create mask\"", + "rm \"target[. = 'test_share']/directory mask\"", + "rm \"target[. = 'test_share']/force create mask\"", + "rm \"target[. = 'test_share']/force directory mode\"", + "rm \"target[. = 'test_share']/force group\"", + "rm \"target[. = 'test_share']/force user\"", + "rm \"target[. = 'test_share']/guest ok\"", + "rm \"target[. = 'test_share']/guest only\"", + "set \"target[. = 'test_share']/hide unreadable\" no", + "rm target[. = 'test_share']/path", + "rm \"target[. = 'test_share']/read only\"", + "rm \"target[. = 'test_share']/public\"", + "rm \"target[. = 'test_share']/writable\"", + "rm \"target[. = 'test_share']/printable\"", + "rm \"target[. = 'test_share']/follow symlinks\"", + "rm \"target[. = 'test_share']/wide links\"", + "rm \"target[. = 'test_share']/map acl inherit\"", + "rm \"target[. = 'test_share']/store dos attributes\"", + "rm \"target[. = 'test_share']/strict allocate\"", + "rm \"target[. = 'test_share']/valid users\"", + "rm \"target[. = 'test_share']/oplocks\"", + "rm \"target[. = 'test_share']/level2 oplocks\"", + "rm \"target[. = 'test_share']/veto oplock files\"", + "rm \"target[. = 'test_share']/write list\"", + "rm \"target[. = 'test_share']/hide dot files\"", + "rm \"target[. = 'test_share']/root preexec\"" + ], + :require => 'Augeas[test_share-section]', + :notify => 'Class[Samba::Server::Service]') + } + end#hide_unreadable false end end -- cgit v1.2.3 From 07fdf27c8c4f0ae710b50bc00b2f5fb0ea0a400e Mon Sep 17 00:00:00 2001 From: Adam Jahn Date: Fri, 8 Jul 2016 15:33:24 -0400 Subject: No need for these files to be exec able --- Gemfile | 0 manifests/server/share.pp | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 Gemfile mode change 100755 => 100644 manifests/server/share.pp (limited to 'manifests/server') diff --git a/Gemfile b/Gemfile old mode 100755 new mode 100644 diff --git a/manifests/server/share.pp b/manifests/server/share.pp old mode 100755 new mode 100644 -- cgit v1.2.3 From f767ff0ae4bc7e135c2ba1e01ab76d51e9b13797 Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 29 Jun 2016 01:52:42 +1000 Subject: Add option to set profile acls on a share Add specs for profile acls option --- manifests/server/share.pp | 6 ++++++ spec/defines/samba__server__share_spec.rb | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index be4ee1e..9a5d030 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -27,6 +27,7 @@ define samba::server::share($ensure = present, $follow_symlinks = '', $wide_links = '', $map_acl_inherit = '', + $profile_acls = '', $store_dos_attributes = '', $strict_allocate = '', $hide_dot_files = '', @@ -149,6 +150,11 @@ define samba::server::share($ensure = present, false => "set \"${target}/map acl inherit\" no", default => "rm \"${target}/map acl inherit\"", }, + $profile_acls ? { + true => "set \"${target}/profile acls\" yes", + false => "set \"${target}/profile acls\" no", + default => "rm \"${target}/profile acls\"", + }, $store_dos_attributes ? { true => "set \"${target}/store dos attributes\" yes", false => "set \"${target}/store dos attributes\" no", diff --git a/spec/defines/samba__server__share_spec.rb b/spec/defines/samba__server__share_spec.rb index 50441f0..62ccf92 100644 --- a/spec/defines/samba__server__share_spec.rb +++ b/spec/defines/samba__server__share_spec.rb @@ -26,6 +26,7 @@ shared_examples "default share" do set.with("follow symlinks") set.with("wide links") set.with("map acl inherit") + set.with("profile acls") set.with("store dos attributes") set.with("strict allocate") set.with("valid users") @@ -431,6 +432,24 @@ describe 'samba::server::share', :type => :define do let(:change_set) { default_changes.with("map acl inherit", "no") } end + context 'with profile_acls set to true' do + include_examples "default share" + let(:params) {{ + :ensure => 'present', + :profile_acls => true, + }} + let(:change_set) { default_changes.with("profile acls", "yes") } + end + + context 'with profile_acls set to false' do + include_examples "default share" + let(:params) {{ + :ensure => 'present', + :profile_acls => false, + }} + let(:change_set) { default_changes.with("profile acls", "no") } + end + context 'with store_dos_attributes set to true' do include_examples "default share" let(:params) {{ -- cgit v1.2.3 From 8112ca0c42426b442984448ad2f3e9dae03089cd Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 29 Jun 2016 01:49:00 +1000 Subject: Add option to add acl group control to a share --- manifests/server/share.pp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index 9a5d030..89bd8cc 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -26,6 +26,7 @@ define samba::server::share($ensure = present, $valid_users = '', $follow_symlinks = '', $wide_links = '', + $acl_group_control = '', $map_acl_inherit = '', $profile_acls = '', $store_dos_attributes = '', @@ -145,6 +146,11 @@ define samba::server::share($ensure = present, false => "set \"${target}/wide links\" no", default => "rm \"${target}/wide links\"", }, + $acl_group_control ? { + true => "set \"${target}/acl group control\" yes", + false => "set \"${target}/acl group control\" no", + default => "rm \"${target}/acl group control\"", + }, $map_acl_inherit ? { true => "set \"${target}/map acl inherit\" yes", false => "set \"${target}/map acl inherit\" no", -- cgit v1.2.3 From 4688b2bd2dc2393a1eacc583ce663634d01f70bb Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 29 Jun 2016 00:57:44 +1000 Subject: Add option to set read list on a share --- manifests/server/share.pp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index 89bd8cc..b68013b 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -20,6 +20,7 @@ define samba::server::share($ensure = present, $veto_oplock_files = '', $read_only = '', $public = '', + $read_list = '', $write_list = '', $writable = '', $printable = '', @@ -187,6 +188,10 @@ define samba::server::share($ensure = present, '' => "rm \"${target}/veto oplock files\"", default => "set \"${target}/veto oplock files\" '${veto_oplock_files}'", }, + $read_list ? { + '' => "rm \"${target}/read list\"", + default => "set \"${target}/read list\" '${read_list}'", + }, $write_list ? { '' => "rm \"${target}/write list\"", default => "set \"${target}/write list\" '${write_list}'", -- cgit v1.2.3 From 113514e18a349e574be1205ee5008ee4e2c872c4 Mon Sep 17 00:00:00 2001 From: Adam Jahn Date: Sun, 10 Jul 2016 14:19:57 -0400 Subject: add specs for read list option, closes #68 --- manifests/server/share.pp | 2 +- spec/defines/samba__server__share_spec.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index b68013b..7cf0ffc 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -189,7 +189,7 @@ define samba::server::share($ensure = present, default => "set \"${target}/veto oplock files\" '${veto_oplock_files}'", }, $read_list ? { - '' => "rm \"${target}/read list\"", + '' => "rm \"${target}/read list\"", default => "set \"${target}/read list\" '${read_list}'", }, $write_list ? { diff --git a/spec/defines/samba__server__share_spec.rb b/spec/defines/samba__server__share_spec.rb index 645b987..f6d1925 100644 --- a/spec/defines/samba__server__share_spec.rb +++ b/spec/defines/samba__server__share_spec.rb @@ -34,6 +34,7 @@ shared_examples "default share" do set.with("oplocks") set.with("level2 oplocks") set.with("veto oplock files") + set.with("read list") set.with("write list") set.with("hide dot files") set.with("root preexec") @@ -541,6 +542,15 @@ describe 'samba::server::share', :type => :define do let(:change_set) { default_changes.with("veto oplock files", "'testing'") } end + context 'with read_list set to "bill,ben"' do + include_examples "default share" + let(:params) {{ + :ensure => 'present', + :read_list => 'bill,ben', + }} + let(:change_set) { default_changes.with("read list", "'bill,ben'") } + end + context 'with write_list set to "bill,ben"' do include_examples "default share" let(:params) {{ -- cgit v1.2.3 From 36b2f12d930cd8e552ec8a3d640c116b70b844e5 Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 29 Jun 2016 00:52:36 +1000 Subject: Add options to set iherit permissions on a share --- manifests/server/share.pp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index 7cf0ffc..58599d9 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -34,6 +34,7 @@ define samba::server::share($ensure = present, $strict_allocate = '', $hide_dot_files = '', $root_preexec = '', + $inherit_permissions = '', ) { $incl = $samba::server::incl @@ -205,6 +206,11 @@ define samba::server::share($ensure = present, '' => "rm \"${target}/root preexec\"", default => "set \"${target}/root preexec\" '${root_preexec}'", }, + $inherit_permissions ? { + true => "set \"${target}/inherit permissions\" yes", + false => "set \"${target}/inherit permissions\" no", + default => "rm \"${target}/inherit permissions\"", + }, ] augeas { "${name}-changes": -- cgit v1.2.3 From eaeb28eab8fd0d78f94bff1b9a05ea1755ef291e Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 29 Jun 2016 00:44:59 +1000 Subject: Add option to set inherit acls on a share --- manifests/server/share.pp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index 58599d9..f039472 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -35,6 +35,7 @@ define samba::server::share($ensure = present, $hide_dot_files = '', $root_preexec = '', $inherit_permissions = '', + $inherit_acls = '', ) { $incl = $samba::server::incl @@ -211,6 +212,11 @@ define samba::server::share($ensure = present, false => "set \"${target}/inherit permissions\" no", default => "rm \"${target}/inherit permissions\"", }, + $inherit_acls ? { + true => "set \"${target}/inherit acls\" yes", + false => "set \"${target}/inherit acls\" no", + default => "rm \"${target}/inherit acls\"", + }, ] augeas { "${name}-changes": -- cgit v1.2.3 From 858b93ce5c8080e98bd653cc452d2d7426019828 Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 29 Jun 2016 00:23:05 +1000 Subject: Add option to set delete readonly on a share --- manifests/server/share.pp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index f039472..4bd146d 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -36,6 +36,7 @@ define samba::server::share($ensure = present, $root_preexec = '', $inherit_permissions = '', $inherit_acls = '', + $delete_readonly = '', ) { $incl = $samba::server::incl @@ -217,6 +218,11 @@ define samba::server::share($ensure = present, false => "set \"${target}/inherit acls\" no", default => "rm \"${target}/inherit acls\"", }, + $delete_readonly ? { + true => "set \"${target}/delete read only\" yes", + false => "set \"${target}/delete read only\" no", + default => "rm \"${target}/delete read only\"", + }, ] augeas { "${name}-changes": -- cgit v1.2.3 From f594999ebe16943d7e3f074fdf3aa70744de1384 Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 29 Jun 2016 00:37:12 +1000 Subject: Fix option name for delete readonly --- manifests/server/share.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index 4bd146d..45dd5a0 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -219,9 +219,9 @@ define samba::server::share($ensure = present, default => "rm \"${target}/inherit acls\"", }, $delete_readonly ? { - true => "set \"${target}/delete read only\" yes", - false => "set \"${target}/delete read only\" no", - default => "rm \"${target}/delete read only\"", + true => "set \"${target}/delete readonly\" yes", + false => "set \"${target}/delete readonly\" no", + default => "rm \"${target}/delete readonly\"", }, ] -- cgit v1.2.3 From 4475fb5496eeeea6cae610f029513369d58f385e Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 29 Jun 2016 00:09:36 +1000 Subject: Add option for setting printer name on a share --- manifests/server/share.pp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index 45dd5a0..bbdc0a6 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -37,6 +37,7 @@ define samba::server::share($ensure = present, $inherit_permissions = '', $inherit_acls = '', $delete_readonly = '', + $printer_name = '', ) { $incl = $samba::server::incl @@ -223,6 +224,10 @@ define samba::server::share($ensure = present, false => "set \"${target}/delete readonly\" no", default => "rm \"${target}/delete readonly\"", }, + $printer_name ? { + default => "set \"${target}/printer name\" '${printer_name}'", + '' => "rm \"${target}/printer name\"", + }, ] augeas { "${name}-changes": -- cgit v1.2.3 From 4a6e4fb559d2c9c7bbda33c0afb6af5a2172e745 Mon Sep 17 00:00:00 2001 From: Adam Jahn Date: Sun, 10 Jul 2016 14:53:14 -0400 Subject: keep default in a consistent order in conditionals --- manifests/server/share.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index bbdc0a6..bb70753 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -225,8 +225,8 @@ define samba::server::share($ensure = present, default => "rm \"${target}/delete readonly\"", }, $printer_name ? { - default => "set \"${target}/printer name\" '${printer_name}'", '' => "rm \"${target}/printer name\"", + default => "set \"${target}/printer name\" '${printer_name}'", }, ] -- cgit v1.2.3 From e5bea510003dd77683ac991e808b6983281dde44 Mon Sep 17 00:00:00 2001 From: John Hodrien Date: Wed, 9 Mar 2016 16:45:24 +0000 Subject: Add msdfs_root paramter to share --- manifests/server/share.pp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index bb70753..86cbb13 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -38,6 +38,7 @@ define samba::server::share($ensure = present, $inherit_acls = '', $delete_readonly = '', $printer_name = '', + $msdfs_root = '', ) { $incl = $samba::server::incl @@ -228,6 +229,11 @@ define samba::server::share($ensure = present, '' => "rm \"${target}/printer name\"", default => "set \"${target}/printer name\" '${printer_name}'", }, + $msdfs_root ? { + true => "set \"${target}/msdfs root\" yes", + false => "set \"${target}/msdfs root\" no", + default => "rm \"${target}/msdfs root\"", + }, ] augeas { "${name}-changes": -- cgit v1.2.3 From 293bcc94cba842737a89e37339d46ad5bb8cd6ab Mon Sep 17 00:00:00 2001 From: Adam Jahn Date: Sun, 10 Jul 2016 21:02:50 -0400 Subject: re-implement guest account on the share level --- manifests/server/share.pp | 5 +++++ spec/defines/samba__server__share_spec.rb | 10 ++++++++++ 2 files changed, 15 insertions(+) (limited to 'manifests/server') diff --git a/manifests/server/share.pp b/manifests/server/share.pp index 86cbb13..5544caf 100644 --- a/manifests/server/share.pp +++ b/manifests/server/share.pp @@ -39,6 +39,7 @@ define samba::server::share($ensure = present, $delete_readonly = '', $printer_name = '', $msdfs_root = '', + $guest_account = '', ) { $incl = $samba::server::incl @@ -234,6 +235,10 @@ define samba::server::share($ensure = present, false => "set \"${target}/msdfs root\" no", default => "rm \"${target}/msdfs root\"", }, + $guest_account ? { + '' => "rm \"${target}/guest account\"", + default => "set \"${target}/guest account\" '${guest_account}'", + }, ] augeas { "${name}-changes": diff --git a/spec/defines/samba__server__share_spec.rb b/spec/defines/samba__server__share_spec.rb index 7e1c8a0..894f334 100644 --- a/spec/defines/samba__server__share_spec.rb +++ b/spec/defines/samba__server__share_spec.rb @@ -43,6 +43,7 @@ shared_examples "default share" do set.with("delete readonly") set.with("printer name") set.with("msdfs root") + set.with("guest account") end let(:change_set) { default_changes } let(:changes) { change_set.to_a } @@ -672,6 +673,15 @@ describe 'samba::server::share', :type => :define do }} let(:change_set) { default_changes.with("msdfs root", "no") } end + + context 'with guest_account set to "killing trees"' do + include_examples "default share" + let(:params) {{ + :ensure => 'present', + :guest_account => 'someone', + }} + let(:change_set) { default_changes.with("guest account", "'someone'") } + end end end end -- cgit v1.2.3 From 0cc76f3930cea9dd7200ff6e1c6917d68f3ee5ea Mon Sep 17 00:00:00 2001 From: Adam Jahn Date: Mon, 11 Jul 2016 09:12:48 -0400 Subject: Fix indentation --- manifests/server/ads.pp | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'manifests/server') diff --git a/manifests/server/ads.pp b/manifests/server/ads.pp index d7d462c..7e2ffe0 100644 --- a/manifests/server/ads.pp +++ b/manifests/server/ads.pp @@ -39,7 +39,7 @@ class samba::server::ads($ensure = present, $winbind_package = 'winbind' } - package{ + package { $krb5_user_package: ensure => installed; $winbind_package: ensure => installed; 'expect': ensure => installed; @@ -50,18 +50,24 @@ class samba::server::ads($ensure = present, # notify winbind samba::server::option { - 'realm': value => $realm, - notify => Class['Samba::Server::Winbind']; - 'winbind uid': value => $winbind_uid, - notify => Class['Samba::Server::Winbind']; - 'winbind gid': value => $winbind_gid, - notify => Class['Samba::Server::Winbind']; - 'winbind enum groups': value => $winbind_enum_groups, - notify => Class['Samba::Server::Winbind']; - 'winbind enum users': value => $winbind_enum_users, - notify => Class['Samba::Server::Winbind']; - 'winbind use default domain': value => $winbind_use_default_domain, - notify => Class['Samba::Server::Winbind']; + 'realm': + value => $realm, + notify => Class['Samba::Server::Winbind']; + 'winbind uid': + value => $winbind_uid, + notify => Class['Samba::Server::Winbind']; + 'winbind gid': + value => $winbind_gid, + notify => Class['Samba::Server::Winbind']; + 'winbind enum groups': + value => $winbind_enum_groups, + notify => Class['Samba::Server::Winbind']; + 'winbind enum users': + value => $winbind_enum_users, + notify => Class['Samba::Server::Winbind']; + 'winbind use default domain': + value => $winbind_use_default_domain, + notify => Class['Samba::Server::Winbind']; } samba::server::option { -- cgit v1.2.3