lib/chef/resource/remote_directory.rb in chef-0.10.8 vs lib/chef/resource/remote_directory.rb in chef-0.10.10.beta.1
- old
+ new
@@ -15,15 +15,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
require 'chef/resource/directory'
+require 'chef/provider/remote_directory'
+require 'chef/mixin/securable'
class Chef
class Resource
class RemoteDirectory < Chef::Resource::Directory
-
+ include Chef::Mixin::Securable
+
+ provides :remote_directory, :on_platforms => :all
+
def initialize(name, run_context=nil)
super
@resource_name = :remote_directory
@path = name
@source = ::File.basename(name)
@@ -32,14 +37,15 @@
@recursive = true
@purge = false
@files_backup = 5
@files_owner = nil
@files_group = nil
- @files_mode = 0644
+ @files_mode = 0644 unless Chef::Platform.windows?
@overwrite = true
@allowed_actions.push(:create, :create_if_missing, :delete)
@cookbook = nil
+ @provider = Chef::Provider::RemoteDirectory
end
def source(args=nil)
set_or_return(
:source,
@@ -68,9 +74,14 @@
set_or_return(
:files_group,
arg,
:regex => Chef::Config[:group_valid_regex]
)
+ end
+
+ if Chef::Platform.windows?
+ # create a second instance of the 'rights' attribute
+ Chef::Mixin::Securable.rights_attribute(:files_rights)
end
def files_mode(arg=nil)
set_or_return(
:files_mode,