To instantiate (start) a service do:
-* `curl -X POST http://127.0.0.1:8000/api/instantiations -d "{\"service_uuid\":\"59446b64-f941-40a8-b511-effb0512c21b\"}"`
+* Specific service: `curl -X POST http://127.0.0.1:8000/api/instantiations -d "{\"service_uuid\":\"59446b64-f941-40a8-b511-effb0512c21b\"}"`
+* Last uploaded service (makes manual tests easier): `curl -X POST http://127.0.0.1:8000/api/instantiations -d "{}"`
To list all running services do:
<td>GET</td>
<td>-</td>
<td></td>
-<td>{service_instance_uuid_list: ["de4567-f3b9-43ac-ac6b-3d27b461123", "de4567-f3b9-43ac-ac6b-3d27b461124", "de4567-f3b9-43ac-ac6b-3d27b461125"]}</td>
+<td>
+{
+ "service_instance_list": [
+ [
+ "9da044b3-1f7a-40e6-a9b3-9e83a9834249",
+ "9371df14-a595-436a-92b5-fc243b74a9d7"
+ ]
+ ]
+}
+</td>
</tr>
</table>
Will return a new UUID to identify the running service instance.
:return: UUID
"""
+ # try to extract the service uuid from the request
json_data = request.get_json(force=True)
- service_uuid = list(GK.services.iterkeys())[0] #json_data.get("service_uuid") # TODO only for quick testing
+ service_uuid = json_data.get("service_uuid")
+
+ # lets be a bit fuzzy here to make testing easier
+ if service_uuid is None and len(GK.services) > 0:
+ # if we don't get a service uuid, we simple start the first service in the list
+ service_uuid = list(GK.services.iterkeys())[0]
+
if service_uuid in GK.services:
+ # ok, we have a service uuid, lets start the service
service_instance_uuid = GK.services.get(service_uuid).start_service()
return {"service_instance_uuid": service_instance_uuid}
return "Service not found", 404
Returns a list of UUIDs containing all running services.
:return: dict / list
"""
- # TODO implement method
- return {"service_instance_uuid_list": list()}
+ return {"service_instance_list": [
+ list(s.instances.iterkeys()) for s in GK.services.itervalues()]}
# create a single, global GK object