       ]
       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 }

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

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