         'resolvePendingRequests','fetchVocabulary', 'fetchMembershipStatuses',
         'setBackgroundImage', 'removeBackgroundImage', 'fetchAdmin', 'inviteByEmail',
         'inviteByEmails', 'inviteByUsername', 'kickMember', 'transferOwnership',
+        'fetchBundle', 'createBundle', 'destroyBundle', 'updateBundle', 'fetchRolesByClientId',
         'remove', 'sendSomeInvitations', 'fetchNewestMembers', 'countMembers'
       ]
     schema          :

            default       : '1'
          customOptions   : Object
    relationships   :
      permissionSet :
        targetType  : JPermissionSet
        as          : 'owner'

      ]
      if 'private' is group.privacy
        queue.push -> group.createMembershipPolicy -> queue.next()
      if groupData['group-vm'] is 'on'
        if groupData['member-vm'] is 'on'
          limits =
            cpu             : { quota: groupData['vm-cpu'] }
            ram             : { quota: groupData['vm-ram'] }
            disk            : { quota: groupData['vm-disk'] }
            users           : { quota: groupData['vm-user'] }
            'cpu per user'  : { quota: groupData['vm-cpu-member'] }
            'ram per user'  : { quota: groupData['vm-ram-member'] }
            'disk per user' : { quota: groupData['vm-disk-member'] }
        else
          limits =
            cpu             : { quota: groupData['vm-cpu'] }
            ram             : { quota: groupData['vm-ram'] }
            disk            : { quota: groupData['vm-disk'] }
            users           : { quota: groupData['vm-user'] }
        queue.push -> group.createBundle limits, (err)->
          if err then callback err
          else
            console.log 'group bundle created'
            queue.next()

      queue.push =>
        @emit 'GroupCreated', { group, creator: owner }
