214: def self.single_report(resource_name, *type_properties)
215:
216:
217:
218:
219:
220:
221:
222: all_present_str_array = list_all_present
223:
224:
225: return nil unless all_present_str_array.include? resource_name
226:
227: dscl_vector = get_exec_preamble("-read", resource_name)
228: begin
229: dscl_output = execute(dscl_vector)
230: rescue Puppet::ExecutionFailure => detail
231: fail("Could not get report. command execution failed.")
232: end
233:
234:
235:
236:
237:
238: case self.get_macosx_version_major
239: when "10.4"
240: dscl_plist = self.parse_dscl_url_data(dscl_output)
241: when "10.5", "10.6"
242: dscl_plist = self.parse_dscl_plist_data(dscl_output)
243: end
244:
245: self.generate_attribute_hash(dscl_plist, *type_properties)
246: end