245: def retrieve_value(resource_name, attribute)
246:
247: raise Puppet::Error.new("Cannot find #{resource_name} in auth db") if not self.class.parsed_auth_db.has_key?(resource_name)
248:
249: if PuppetToNativeAttributeMap.has_key?(attribute)
250: native_attribute = PuppetToNativeAttributeMap[attribute]
251: else
252: native_attribute = attribute.to_s
253: end
254:
255: if self.class.parsed_auth_db[resource_name].has_key?(native_attribute)
256: value = self.class.parsed_auth_db[resource_name][native_attribute]
257: case value
258: when true, :true
259: value = :true
260: when false, :false
261: value = :false
262: end
263:
264: @property_hash[attribute] = value
265: return value
266: else
267: @property_hash.delete(attribute)
268: return ""
269: end
270: end