Commit 94f951c4 by Belákovics Ádám

Add handling template to create

parent 256a2690
Pipeline #905 passed with stage
in 1 minute 18 seconds
...@@ -76,30 +76,23 @@ class InstanceViewSet(AuthorizationMixin, ViewSet): ...@@ -76,30 +76,23 @@ class InstanceViewSet(AuthorizationMixin, ViewSet):
if not self.has_perms_for_model(request.user, 'create'): if not self.has_perms_for_model(request.user, 'create'):
return Response({"error": "No permission to create Virtual Machine."}, return Response({"error": "No permission to create Virtual Machine."},
status=status.HTTP_401_UNAUTHORIZED) status=status.HTTP_401_UNAUTHORIZED)
params = request.data
data = request.data template = ImageTemplate.objects.get(pk=params["template"])
template = ImageTemplate.objects.get(pk=data["template"]) flavor = Flavor.objects.get(pk=params["flavor"]) if "flavor" in params else template.flavor
lease = Lease.objects.get(pk=params["lease"]) if "lease" in params else template.lease
# TODO: if the user can select anouther lease and flavor
# That will be applied, not from the template
# flavor = Flavor.objects.get(pk=data["flavor"])
# lease = Lease.objects.get(pk=data["lease"])
newInstance = Instance.create_instance_from_template( newInstance = Instance.create_instance_from_template(
params={"name": data["name"], params={"name": params["name"],
"description": data["description"], "description": params["description"],
"access_method": data["access"], "access_method": params["access"],
"system": data["system"], "system": params["system"],
}, },
lease=template.lease, lease=lease,
networks=[{"uuid": template.network_id}], networks=[{"uuid": template.network_id}],
template=template, template=template,
flavor=template.flavor, flavor=flavor,
owner=request.user, owner=request.user,
disks=None disks=None
) )
return Response(InstanceSerializer(newInstance).data) return Response(InstanceSerializer(newInstance).data)
def retrieve(self, request, pk): def retrieve(self, request, pk):
...@@ -107,9 +100,7 @@ class InstanceViewSet(AuthorizationMixin, ViewSet): ...@@ -107,9 +100,7 @@ class InstanceViewSet(AuthorizationMixin, ViewSet):
if not self.has_perms_for_object(request.user, 'retrieve', instance): if not self.has_perms_for_object(request.user, 'retrieve', instance):
return Response({"error": "No permission to access the Virtual Machine."}, return Response({"error": "No permission to access the Virtual Machine."},
status=status.HTTP_401_UNAUTHORIZED) status=status.HTTP_401_UNAUTHORIZED)
mergedInstance = self.get_merged_object(pk) mergedInstance = self.get_merged_object(pk)
return Response(mergedInstance) return Response(mergedInstance)
def update(self, request, pk, format=None): def update(self, request, pk, format=None):
...@@ -217,7 +208,6 @@ class FlavorViewSet(ViewSet): ...@@ -217,7 +208,6 @@ class FlavorViewSet(ViewSet):
vcpu=data["vcpu"], vcpu=data["vcpu"],
initial_disk=data["initial_disk"], initial_disk=data["initial_disk"],
priority=data["priority"]) priority=data["priority"])
return Response(new_flavor.pk) return Response(new_flavor.pk)
def update(self, request, pk): def update(self, request, pk):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment