def create_users(users)
(raise CloudDB::Exception::Syntax, "Must provide at least one user in the array") if (!users.is_a?(Array) || users.size < 1)
body = Hash.new
body[:users] = Array.new
for user in users
new_user = Hash.new
new_user[:name] = user[:name] or raise CloudDB::Exception::MissingArgument, "Must provide a name for each user"
new_user[:password] = user[:password] or raise CloudDB::Exception::MissingArgument, "Must provide a password for each user"
new_user[:databases] = user[:databases]
(raise CloudDB::Exception::Syntax, "User names must be 16 characters or less") if user[:name].size > 16
(raise CloudDB::Exception::Syntax, "Must provide at least one database in each user :databases array") if (!user[:databases].is_a?(Array) || user[:databases].size < 1)
body[:users] << new_user
end
response = @connection.dbreq("POST", @dbmgmthost, "#{@dbmgmtpath}/instances/#{CloudDB.escape(@id.to_s)}/users", @dbmgmtport, @dbmgmtscheme, {}, body.to_json)
CloudDB::Exception.raise_exception(response) unless response.code.to_s.match(/^20.$/)
true
end