379: def set(param, value)
380: self.class.validate(param, value)
381: current_members = @property_value_cache_hash[:members]
382: if param == :members
383:
384:
385:
386: if @resource[:auth_membership] and not current_members.nil?
387: remove_unwanted_members(current_members, value)
388: end
389:
390:
391: add_members(current_members, value)
392: else
393: exec_arg_vector = self.class.get_exec_preamble("-create", @resource[:name])
394:
395:
396: exec_arg_vector << @@ns_to_ds_attribute_map[symbolize(param)]
397:
398: exec_arg_vector << value.to_s
399: begin
400: execute(exec_arg_vector)
401: rescue Puppet::ExecutionFailure => detail
402: fail("Could not set %s on %s[%s]: %s" % [param, @resource.class.name, @resource.name, detail])
403: end
404: end
405: end