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(+) 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