78: def to_resource
79: return nil unless type = self.type
80:
81: path = self.value
82:
83: return nil unless path.is_a?(String)
84:
85:
86: path = File.expand_path(path)
87:
88: return nil unless type == :directory or create_files? or File.exist?(path)
89: return nil if path =~ /^\/dev/
90:
91: resource = Puppet::Resource.new(:file, path)
92:
93: if Puppet[:manage_internal_file_permissions]
94: resource[:mode] = self.mode if self.mode
95:
96: if Puppet.features.root?
97: resource[:owner] = self.owner if self.owner
98: resource[:group] = self.group if self.group
99: end
100: end
101:
102: resource[:ensure] = type
103: resource[:loglevel] = :debug
104: resource[:backup] = false
105:
106: resource.tag(self.section, self.name, "settings")
107:
108: resource
109: end