367: def set(param, value)
368: self.class.validate(param, value)
369: current_members = @property_value_cache_hash[:members]
370: if param == :members
371:
372:
373:
374: remove_unwanted_members(current_members, value) if @resource[:auth_membership] and not current_members.nil?
375:
376:
377: add_members(current_members, value)
378: else
379: exec_arg_vector = self.class.get_exec_preamble("-create", @resource[:name])
380:
381:
382: exec_arg_vector << @@ns_to_ds_attribute_map[symbolize(param)]
383:
384: exec_arg_vector << value.to_s
385: begin
386: execute(exec_arg_vector)
387: rescue Puppet::ExecutionFailure => detail
388: fail("Could not set #{param} on #{@resource.class.name}[#{@resource.name}]: #{detail}")
389: end
390: end
391: end