42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb', line 42
def write(contents)
desired_members = minimize_value(Chef::JSONCompat.parse(contents, create_additions: false))
members = minimize_value(_read_json)
(desired_members - members).each do |member|
rest.post(api_path, "username" => member)
rescue Net::HTTPClientException => e
if %w{404 405}.include?(e.response.code)
raise "Chef server at #{api_path} does not allow you to directly add members. Please either upgrade your Chef server or move the users you want into invitations.json instead of members.json."
else
raise
end
end
(members - desired_members).each do |member|
rest.delete(File.join(api_path, member))
end
end
|