Add name parameter to create vm

This commit is contained in:
Ajin.Abraham
2024-02-29 12:32:38 -08:00
parent 6ac8685977
commit f62f1d0fd1
4 changed files with 21 additions and 5 deletions
@@ -158,11 +158,11 @@ class CorelliumAPI(CorelliumInit):
instances.append(i)
return instances
def create_ios_instance(self, flavor, version):
def create_ios_instance(self, name, flavor, version):
"""Create a Jailbroken iOS instance."""
data = {
'project': self.project_id,
'name': f'MobSF iOS - {flavor.upper()}',
'name': f'{name} - {flavor.upper()}',
'flavor': flavor,
'os': version,
}
@@ -299,6 +299,17 @@ def create_vm_instance(request, api=False):
project_id = request.POST['project_id']
flavor = request.POST['flavor']
version = request.POST['version']
name = request.POST.get('name')
if not name:
name = 'MobSF iOS'
if not re.match(r'^[a-zA-Z0-9 _-]+$', name):
data['message'] = (
'Invalid VM name. '
'Can only contain '
'letters, numbers, '
'spaces, hyphens, '
'and underscores')
return send_response(data, api)
if not re.match(r'^iphone\d*\w+', flavor):
data['message'] = 'Invalid iOS flavor'
return send_response(data, api)
@@ -309,7 +320,7 @@ def create_vm_instance(request, api=False):
if failed:
return send_response(failed, api)
c = CorelliumAPI(project_id)
r = c.create_ios_instance(flavor, version)
r = c.create_ios_instance(name, flavor, version)
if r:
data = {
'status': OK,
@@ -72,7 +72,7 @@ def api_corellium_get_supported_ios_versions(request):
@csrf_exempt
def api_corellium_create_ios_instance(request):
"""POST - Corellium Create an iOS Instance."""
params = {'project_id', 'flavor', 'version'}
params = {'name', 'project_id', 'flavor', 'version'}
if set(request.POST) < params:
return make_api_response(
{'error': 'Missing Parameters'}, 422)
+6 -1
View File
@@ -2940,6 +2940,11 @@
<td>Corellium Project ID</td>
<td>Yes</td>
</tr>
<tr>
<td>name</td>
<td>Name of the VM</td>
<td>Yes</td>
</tr>
<tr>
<td>flavor</td>
<td>iOS Flavor</td>
@@ -2986,7 +2991,7 @@
<p><strong>Sample Call:</strong></p>
<ul>
<li>
<pre><code>curl -X POST --url http://localhost:8000/api/v1/ios/corellium_create_ios_instance --data "project_id=728bb423-68bc-4300-a484-6e32a43be9cf&flavor=iphone15p&version=16.0" -H "Authorization:{{ api_key}}"
<pre><code>curl -X POST --url http://localhost:8000/api/v1/ios/corellium_create_ios_instance --data "project_id=728bb423-68bc-4300-a484-6e32a43be9cf&name=iosvm&flavor=iphone15p&version=16.0" -H "Authorization:{{ api_key}}"
</code></pre>
</li>
</ul>