summaryrefslogtreecommitdiff
path: root/opendc/api
diff options
context:
space:
mode:
Diffstat (limited to 'opendc/api')
-rw-r--r--opendc/api/v1/datacenters/__init__.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/__init__.py)0
-rw-r--r--opendc/api/v1/datacenters/datacenterId/__init__.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/__init__.py)0
-rw-r--r--opendc/api/v1/datacenters/datacenterId/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/endpoint.py)1
-rw-r--r--opendc/api/v1/datacenters/datacenterId/rooms/__init__.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/__init__.py)0
-rw-r--r--opendc/api/v1/datacenters/datacenterId/rooms/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/endpoint.py)2
-rw-r--r--opendc/api/v1/experiments/__init__.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/__init__.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/endpoint.py)3
-rw-r--r--opendc/api/v1/experiments/experimentId/last-simulated-tick/__init__.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/last-simulated-tick/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/endpoint.py)1
-rw-r--r--opendc/api/v1/experiments/experimentId/machine-states/__init__.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/machine-states/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/endpoint.py)1
-rw-r--r--opendc/api/v1/experiments/experimentId/rack-states/__init__.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/position/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/rack-states/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/endpoint.py)1
-rw-r--r--opendc/api/v1/experiments/experimentId/room-states/__init__.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/room-states/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/endpoint.py)1
-rw-r--r--opendc/api/v1/experiments/experimentId/statistics/__init__.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/statistics/task-durations/__init__.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/statistics/task-durations/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/endpoint.py)1
-rw-r--r--opendc/api/v1/experiments/experimentId/task-states/__init__.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/__init__.py)0
-rw-r--r--opendc/api/v1/experiments/experimentId/task-states/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/endpoint.py)1
-rw-r--r--opendc/api/v1/jobs/__init__.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/__init__.py)0
-rw-r--r--opendc/api/v1/jobs/jobId/__init__.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/__init__.py)0
-rw-r--r--opendc/api/v1/jobs/jobId/endpoint.py33
-rw-r--r--opendc/api/v1/jobs/jobId/tasks/__init__.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/__init__.py)0
-rw-r--r--opendc/api/v1/jobs/jobId/tasks/endpoint.py36
-rw-r--r--opendc/api/v1/paths.json97
-rw-r--r--opendc/api/v1/paths/__init__.py (renamed from opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/__init__.py)0
-rw-r--r--opendc/api/v1/paths/pathId/__init__.py (renamed from opendc/api/v1/simulations/simulationId/paths/pathId/__init__.py)0
-rw-r--r--opendc/api/v1/paths/pathId/branches/__init__.py (renamed from opendc/api/v1/simulations/simulationId/paths/pathId/branches/__init__.py)0
-rw-r--r--opendc/api/v1/paths/pathId/branches/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/paths/pathId/branches/endpoint.py)1
-rw-r--r--opendc/api/v1/paths/pathId/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/paths/pathId/endpoint.py)1
-rw-r--r--opendc/api/v1/paths/pathId/sections/__init__.py (renamed from opendc/api/v1/simulations/simulationId/paths/pathId/sections/__init__.py)0
-rw-r--r--opendc/api/v1/paths/pathId/sections/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/paths/pathId/sections/endpoint.py)1
-rw-r--r--opendc/api/v1/rooms/__init__.py (renamed from opendc/api/v1/simulations/simulationId/paths/pathId/sections/sectionId/__init__.py)0
-rw-r--r--opendc/api/v1/rooms/roomId/__init__.py (renamed from opendc/api/v1/traces/traceId/tasks/__init__.py)0
-rw-r--r--opendc/api/v1/rooms/roomId/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/endpoint.py)6
-rw-r--r--opendc/api/v1/rooms/roomId/tiles/__init__.py0
-rw-r--r--opendc/api/v1/rooms/roomId/tiles/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/endpoint.py)4
-rw-r--r--opendc/api/v1/sections/__init__.py0
-rw-r--r--opendc/api/v1/sections/sectionId/__init__.py0
-rw-r--r--opendc/api/v1/sections/sectionId/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/paths/pathId/sections/sectionId/endpoint.py)2
-rw-r--r--opendc/api/v1/tiles/__init__.py0
-rw-r--r--opendc/api/v1/tiles/tileId/__init__.py0
-rw-r--r--opendc/api/v1/tiles/tileId/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/endpoint.py)6
-rw-r--r--opendc/api/v1/tiles/tileId/rack/__init__.py0
-rw-r--r--opendc/api/v1/tiles/tileId/rack/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/endpoint.py)12
-rw-r--r--opendc/api/v1/tiles/tileId/rack/machines/__init__.py0
-rw-r--r--opendc/api/v1/tiles/tileId/rack/machines/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/endpoint.py)6
-rw-r--r--opendc/api/v1/tiles/tileId/rack/machines/position/__init__.py0
-rw-r--r--opendc/api/v1/tiles/tileId/rack/machines/position/endpoint.py (renamed from opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/position/endpoint.py)9
-rw-r--r--opendc/api/v1/traces/endpoint.py2
-rw-r--r--opendc/api/v1/traces/traceId/jobs/__init__.py0
-rw-r--r--opendc/api/v1/traces/traceId/jobs/endpoint.py (renamed from opendc/api/v1/traces/traceId/tasks/endpoint.py)12
54 files changed, 127 insertions, 113 deletions
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/__init__.py b/opendc/api/v1/datacenters/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/__init__.py
+++ b/opendc/api/v1/datacenters/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/__init__.py b/opendc/api/v1/datacenters/datacenterId/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/__init__.py
+++ b/opendc/api/v1/datacenters/datacenterId/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/endpoint.py b/opendc/api/v1/datacenters/datacenterId/endpoint.py
index c9c78a8a..75d0a9cf 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/endpoint.py
+++ b/opendc/api/v1/datacenters/datacenterId/endpoint.py
@@ -10,7 +10,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'datacenterId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/__init__.py b/opendc/api/v1/datacenters/datacenterId/rooms/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/__init__.py
+++ b/opendc/api/v1/datacenters/datacenterId/rooms/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/endpoint.py b/opendc/api/v1/datacenters/datacenterId/rooms/endpoint.py
index 1127ce95..31545a1e 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/endpoint.py
+++ b/opendc/api/v1/datacenters/datacenterId/rooms/endpoint.py
@@ -11,7 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'datacenterId': 'int'
}
)
@@ -50,7 +49,6 @@ def POST(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'datacenterId': 'int'
},
body = {
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/__init__.py b/opendc/api/v1/experiments/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/__init__.py
+++ b/opendc/api/v1/experiments/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/__init__.py b/opendc/api/v1/experiments/experimentId/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/__init__.py
+++ b/opendc/api/v1/experiments/experimentId/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/endpoint.py b/opendc/api/v1/experiments/experimentId/endpoint.py
index 7af62b92..3bdd30d2 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/endpoint.py
+++ b/opendc/api/v1/experiments/experimentId/endpoint.py
@@ -8,7 +8,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
}
)
@@ -48,7 +47,6 @@ def PUT(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
},
body = {
@@ -107,7 +105,6 @@ def DELETE(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/__init__.py b/opendc/api/v1/experiments/experimentId/last-simulated-tick/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/__init__.py
+++ b/opendc/api/v1/experiments/experimentId/last-simulated-tick/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/endpoint.py b/opendc/api/v1/experiments/experimentId/last-simulated-tick/endpoint.py
index d39fafe4..24eb8932 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/endpoint.py
+++ b/opendc/api/v1/experiments/experimentId/last-simulated-tick/endpoint.py
@@ -10,7 +10,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/__init__.py b/opendc/api/v1/experiments/experimentId/machine-states/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/__init__.py
+++ b/opendc/api/v1/experiments/experimentId/machine-states/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/endpoint.py b/opendc/api/v1/experiments/experimentId/machine-states/endpoint.py
index c5ba0abe..97113e4a 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/endpoint.py
+++ b/opendc/api/v1/experiments/experimentId/machine-states/endpoint.py
@@ -11,7 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/position/__init__.py b/opendc/api/v1/experiments/experimentId/rack-states/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/position/__init__.py
+++ b/opendc/api/v1/experiments/experimentId/rack-states/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/endpoint.py b/opendc/api/v1/experiments/experimentId/rack-states/endpoint.py
index 6e71c496..daed45c5 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/endpoint.py
+++ b/opendc/api/v1/experiments/experimentId/rack-states/endpoint.py
@@ -11,7 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/__init__.py b/opendc/api/v1/experiments/experimentId/room-states/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/__init__.py
+++ b/opendc/api/v1/experiments/experimentId/room-states/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/endpoint.py b/opendc/api/v1/experiments/experimentId/room-states/endpoint.py
index d8c9fb45..9e283d34 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/endpoint.py
+++ b/opendc/api/v1/experiments/experimentId/room-states/endpoint.py
@@ -11,7 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/__init__.py b/opendc/api/v1/experiments/experimentId/statistics/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/__init__.py
+++ b/opendc/api/v1/experiments/experimentId/statistics/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/__init__.py b/opendc/api/v1/experiments/experimentId/statistics/task-durations/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/__init__.py
+++ b/opendc/api/v1/experiments/experimentId/statistics/task-durations/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/endpoint.py b/opendc/api/v1/experiments/experimentId/statistics/task-durations/endpoint.py
index 1bb60ca2..ad73daa7 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/endpoint.py
+++ b/opendc/api/v1/experiments/experimentId/statistics/task-durations/endpoint.py
@@ -11,7 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/__init__.py b/opendc/api/v1/experiments/experimentId/task-states/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/__init__.py
+++ b/opendc/api/v1/experiments/experimentId/task-states/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/endpoint.py b/opendc/api/v1/experiments/experimentId/task-states/endpoint.py
index b11512c0..805d86fb 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/endpoint.py
+++ b/opendc/api/v1/experiments/experimentId/task-states/endpoint.py
@@ -11,7 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'experimentId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/__init__.py b/opendc/api/v1/jobs/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/__init__.py
+++ b/opendc/api/v1/jobs/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/__init__.py b/opendc/api/v1/jobs/jobId/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/__init__.py
+++ b/opendc/api/v1/jobs/jobId/__init__.py
diff --git a/opendc/api/v1/jobs/jobId/endpoint.py b/opendc/api/v1/jobs/jobId/endpoint.py
new file mode 100644
index 00000000..84b8f3c4
--- /dev/null
+++ b/opendc/api/v1/jobs/jobId/endpoint.py
@@ -0,0 +1,33 @@
+from opendc.models.job import Job
+from opendc.util import exceptions
+from opendc.util.rest import Response
+
+def GET(request):
+ """Get this Job."""
+
+ # Make sure required parameters are there
+
+ try:
+ request.check_required_parameters(
+ path = {
+ 'jobId': 'int'
+ }
+ )
+
+ except exceptions.ParameterError as e:
+ return Response(400, e.message)
+
+ # Instantiate a Job and make sure it exists
+
+ job = Job.from_primary_key((request.params_path['jobId'],))
+
+ if not job.exists():
+ return Response(404, '{} not found.'.format(job))
+
+ # Return this Job
+
+ return Response(
+ 200,
+ 'Successfully retrieved {}.'.format(job),
+ job.to_JSON()
+ )
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/__init__.py b/opendc/api/v1/jobs/jobId/tasks/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/__init__.py
+++ b/opendc/api/v1/jobs/jobId/tasks/__init__.py
diff --git a/opendc/api/v1/jobs/jobId/tasks/endpoint.py b/opendc/api/v1/jobs/jobId/tasks/endpoint.py
new file mode 100644
index 00000000..9b6a1cab
--- /dev/null
+++ b/opendc/api/v1/jobs/jobId/tasks/endpoint.py
@@ -0,0 +1,36 @@
+from opendc.models.job import Job
+from opendc.models.task import Task
+from opendc.util import database, exceptions
+from opendc.util.rest import Response
+
+def GET(request):
+ """Get this Job's Tasks."""
+
+ # Make sure required parameters are there
+
+ try:
+ request.check_required_parameters(
+ path = {
+ 'jobId': 'int'
+ }
+ )
+
+ except exceptions.ParameterError as e:
+ return Response(400, e.message)
+
+ # Instantiate a Job and make sure it exists
+
+ job = Job.from_primary_key((request.params_path['jobId'],))
+
+ if not job.exists():
+ return Response(404, '{} not found.'.format(job))
+
+ # Get and return the Tasks
+
+ tasks = Task.query('job_id', request.params_path['jobId'])
+
+ return Response(
+ 200,
+ 'Successfully retrieved Tasks for {}.'.format(job),
+ [x.to_JSON() for x in tasks]
+ )
diff --git a/opendc/api/v1/paths.json b/opendc/api/v1/paths.json
index 08908c25..79133968 100644
--- a/opendc/api/v1/paths.json
+++ b/opendc/api/v1/paths.json
@@ -1,48 +1,53 @@
[
- "room-types",
- "room-types/{name}",
- "room-types/{name}/allowed-objects",
- "schedulers",
- "simulations",
- "simulations/{simulationId}",
- "simulations/{simulationId}/authorizations",
- "simulations/{simulationId}/authorizations/{userId}",
- "simulations/{simulationId}/datacenters",
- "simulations/{simulationId}/datacenters/{datacenterId}",
- "simulations/{simulationId}/datacenters/{datacenterId}/rooms",
- "simulations/{simulationId}/datacenters/{datacenterId}/rooms/{roomId}",
- "simulations/{simulationId}/datacenters/{datacenterId}/rooms/{roomId}/tiles",
- "simulations/{simulationId}/datacenters/{datacenterId}/rooms/{roomId}/tiles/{tileId}",
- "simulations/{simulationId}/datacenters/{datacenterId}/rooms/{roomId}/tiles/{tileId}/rack",
- "simulations/{simulationId}/datacenters/{datacenterId}/rooms/{roomId}/tiles/{tileId}/rack/machines",
- "simulations/{simulationId}/datacenters/{datacenterId}/rooms/{roomId}/tiles/{tileId}/rack/machines/{position}",
- "simulations/{simulationId}/experiments/",
- "simulations/{simulationId}/experiments/{experimentId}",
- "simulations/{simulationId}/experiments/{experimentId}/last-simulated-tick",
- "simulations/{simulationId}/experiments/{experimentId}/machine-states",
- "simulations/{simulationId}/experiments/{experimentId}/rack-states",
- "simulations/{simulationId}/experiments/{experimentId}/room-states",
- "simulations/{simulationId}/experiments/{experimentId}/statistics/task-durations",
- "simulations/{simulationId}/experiments/{experimentId}/task-states",
- "simulations/{simulationId}/paths/",
- "simulations/{simulationId}/paths/{pathId}",
- "simulations/{simulationId}/paths/{pathId}/branches",
- "simulations/{simulationId}/paths/{pathId}/sections",
- "simulations/{simulationId}/paths/{pathId}/sections/{sectionId}",
- "specifications/cpus",
- "specifications/cpus/{id}",
- "specifications/failure-models",
- "specifications/failure-models/{id}",
- "specifications/gpus",
- "specifications/gpus/{id}",
- "specifications/memories",
- "specifications/memories/{id}",
- "specifications/storages",
- "specifications/storages/{id}",
- "specifications/traces",
- "specifications/traces/{traceId}",
- "specifications/traces/{traceId}/tasks",
- "users",
- "users/{userId}",
- "users/{userId}/authorizations"
+ "/users",
+ "/users/{userId}",
+ "/users/{userId}/authorizations",
+ "/simulations",
+ "/simulations/{simulationId}",
+ "/simulations/{simulationId}/authorizations",
+ "/simulations/{simulationId}/authorizations/{userId}",
+ "/datacenters/{datacenterId}",
+ "/datacenters/{datacenterId}/rooms",
+ "/rooms/{roomId}",
+ "/rooms/{roomId}/tiles",
+ "/tiles/{tileId}",
+ "/tiles/{tileId}/cooling-item",
+ "/tiles/{tileId}/psu",
+ "/tiles/{tileId}/rack",
+ "/tiles/{tileId}/rack/machines",
+ "/tiles/{tileId}/rack/machines/{position}",
+ "/simulations/{simulationId}/experiments",
+ "/experiments/{experimentId}",
+ "/experiments/{experimentId}/last-simulated-tick",
+ "/experiments/{experimentId}/machine-states",
+ "/experiments/{experimentId}/rack-states",
+ "/experiments/{experimentId}/room-states",
+ "/experiments/{experimentId}/task-states",
+ "/simulations/{simulationId}/paths",
+ "/paths/{pathId}",
+ "/paths/{pathId}/branches",
+ "/paths/{pathId}/sections",
+ "/sections/{sectionId}",
+ "/schedulers",
+ "/traces",
+ "/traces/{traceId}",
+ "/traces/{traceId}/jobs",
+ "/jobs/{jobId}",
+ "/jobs/{jobId}/tasks",
+ "/room-types",
+ "/room-types/{name}/allowed-objects",
+ "/specifications/cooling-items",
+ "/specifications/cooling-items/{id}",
+ "/specifications/cpus",
+ "/specifications/cpus/{id}",
+ "/specifications/failure-models",
+ "/specifications/failure-models/{id}",
+ "/specifications/gpus",
+ "/specifications/gpus/{id}",
+ "/specifications/memories",
+ "/specifications/memories/{id}",
+ "/specifications/psus",
+ "/specifications/psus/{id}",
+ "/specifications/storages",
+ "/specifications/storages/{id}"
] \ No newline at end of file
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/__init__.py b/opendc/api/v1/paths/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/__init__.py
+++ b/opendc/api/v1/paths/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/paths/pathId/__init__.py b/opendc/api/v1/paths/pathId/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/paths/pathId/__init__.py
+++ b/opendc/api/v1/paths/pathId/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/paths/pathId/branches/__init__.py b/opendc/api/v1/paths/pathId/branches/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/paths/pathId/branches/__init__.py
+++ b/opendc/api/v1/paths/pathId/branches/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/paths/pathId/branches/endpoint.py b/opendc/api/v1/paths/pathId/branches/endpoint.py
index 2aa34238..2ac4236a 100644
--- a/opendc/api/v1/simulations/simulationId/paths/pathId/branches/endpoint.py
+++ b/opendc/api/v1/paths/pathId/branches/endpoint.py
@@ -19,7 +19,6 @@ def POST(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'pathId': 'int'
},
body = {
diff --git a/opendc/api/v1/simulations/simulationId/paths/pathId/endpoint.py b/opendc/api/v1/paths/pathId/endpoint.py
index 71d97a67..470063d2 100644
--- a/opendc/api/v1/simulations/simulationId/paths/pathId/endpoint.py
+++ b/opendc/api/v1/paths/pathId/endpoint.py
@@ -11,7 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'pathId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/paths/pathId/sections/__init__.py b/opendc/api/v1/paths/pathId/sections/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/paths/pathId/sections/__init__.py
+++ b/opendc/api/v1/paths/pathId/sections/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/paths/pathId/sections/endpoint.py b/opendc/api/v1/paths/pathId/sections/endpoint.py
index 775de346..5b08863b 100644
--- a/opendc/api/v1/simulations/simulationId/paths/pathId/sections/endpoint.py
+++ b/opendc/api/v1/paths/pathId/sections/endpoint.py
@@ -11,7 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
'pathId': 'int'
}
)
diff --git a/opendc/api/v1/simulations/simulationId/paths/pathId/sections/sectionId/__init__.py b/opendc/api/v1/rooms/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/simulations/simulationId/paths/pathId/sections/sectionId/__init__.py
+++ b/opendc/api/v1/rooms/__init__.py
diff --git a/opendc/api/v1/traces/traceId/tasks/__init__.py b/opendc/api/v1/rooms/roomId/__init__.py
index e69de29b..e69de29b 100644
--- a/opendc/api/v1/traces/traceId/tasks/__init__.py
+++ b/opendc/api/v1/rooms/roomId/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/endpoint.py b/opendc/api/v1/rooms/roomId/endpoint.py
index 44ed82d6..6d7ab261 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/endpoint.py
+++ b/opendc/api/v1/rooms/roomId/endpoint.py
@@ -10,8 +10,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
'roomId': 'int'
}
)
@@ -51,8 +49,6 @@ def PUT(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
'roomId': 'int'
},
body = {
@@ -106,8 +102,6 @@ def DELETE(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
'roomId': 'int'
}
)
diff --git a/opendc/api/v1/rooms/roomId/tiles/__init__.py b/opendc/api/v1/rooms/roomId/tiles/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/rooms/roomId/tiles/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/endpoint.py b/opendc/api/v1/rooms/roomId/tiles/endpoint.py
index f615a6d4..9d17c644 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/endpoint.py
+++ b/opendc/api/v1/rooms/roomId/tiles/endpoint.py
@@ -11,8 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
'roomId': 'int'
}
)
@@ -55,8 +53,6 @@ def POST(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
'roomId': 'int'
},
body = {
diff --git a/opendc/api/v1/sections/__init__.py b/opendc/api/v1/sections/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/sections/__init__.py
diff --git a/opendc/api/v1/sections/sectionId/__init__.py b/opendc/api/v1/sections/sectionId/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/sections/sectionId/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/paths/pathId/sections/sectionId/endpoint.py b/opendc/api/v1/sections/sectionId/endpoint.py
index 9cd397d0..48e724bd 100644
--- a/opendc/api/v1/simulations/simulationId/paths/pathId/sections/sectionId/endpoint.py
+++ b/opendc/api/v1/sections/sectionId/endpoint.py
@@ -10,8 +10,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'pathId': 'int',
'sectionId': 'int'
}
)
diff --git a/opendc/api/v1/tiles/__init__.py b/opendc/api/v1/tiles/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/tiles/__init__.py
diff --git a/opendc/api/v1/tiles/tileId/__init__.py b/opendc/api/v1/tiles/tileId/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/tiles/tileId/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/endpoint.py b/opendc/api/v1/tiles/tileId/endpoint.py
index b15a10f7..deb76195 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/endpoint.py
+++ b/opendc/api/v1/tiles/tileId/endpoint.py
@@ -10,9 +10,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int'
}
)
@@ -52,9 +49,6 @@ def DELETE(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int'
}
)
diff --git a/opendc/api/v1/tiles/tileId/rack/__init__.py b/opendc/api/v1/tiles/tileId/rack/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/tiles/tileId/rack/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/endpoint.py b/opendc/api/v1/tiles/tileId/rack/endpoint.py
index d9fb1959..59338e9a 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/endpoint.py
+++ b/opendc/api/v1/tiles/tileId/rack/endpoint.py
@@ -11,9 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int'
},
)
@@ -62,9 +59,6 @@ def POST(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int'
},
body = {
@@ -127,9 +121,6 @@ def PUT(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int'
},
body = {
@@ -192,9 +183,6 @@ def DELETE(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int'
},
)
diff --git a/opendc/api/v1/tiles/tileId/rack/machines/__init__.py b/opendc/api/v1/tiles/tileId/rack/machines/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/tiles/tileId/rack/machines/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/endpoint.py b/opendc/api/v1/tiles/tileId/rack/machines/endpoint.py
index a67bb1c3..2d160713 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/endpoint.py
+++ b/opendc/api/v1/tiles/tileId/rack/machines/endpoint.py
@@ -11,9 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int'
}
)
@@ -56,9 +53,6 @@ def POST(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int'
},
body = {
diff --git a/opendc/api/v1/tiles/tileId/rack/machines/position/__init__.py b/opendc/api/v1/tiles/tileId/rack/machines/position/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/tiles/tileId/rack/machines/position/__init__.py
diff --git a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/position/endpoint.py b/opendc/api/v1/tiles/tileId/rack/machines/position/endpoint.py
index e33da5d6..15e6cf96 100644
--- a/opendc/api/v1/simulations/simulationId/datacenters/datacenterId/rooms/roomId/tiles/tileId/rack/machines/position/endpoint.py
+++ b/opendc/api/v1/tiles/tileId/rack/machines/position/endpoint.py
@@ -11,9 +11,6 @@ def GET(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int',
'position': 'int'
}
@@ -52,9 +49,6 @@ def PUT(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int',
'position': 'int'
},
@@ -132,9 +126,6 @@ def DELETE(request):
try:
request.check_required_parameters(
path = {
- 'simulationId': 'int',
- 'datacenterId': 'int',
- 'roomId': 'int',
'tileId': 'int',
'position': 'int'
}
diff --git a/opendc/api/v1/traces/endpoint.py b/opendc/api/v1/traces/endpoint.py
index d383b335..05d6fd48 100644
--- a/opendc/api/v1/traces/endpoint.py
+++ b/opendc/api/v1/traces/endpoint.py
@@ -2,7 +2,7 @@ from opendc.models.trace import Trace
from opendc.util.rest import Response
def GET(request):
- """Get all avaialble Traces."""
+ """Get all available Traces."""
# Get the Traces
diff --git a/opendc/api/v1/traces/traceId/jobs/__init__.py b/opendc/api/v1/traces/traceId/jobs/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/opendc/api/v1/traces/traceId/jobs/__init__.py
diff --git a/opendc/api/v1/traces/traceId/tasks/endpoint.py b/opendc/api/v1/traces/traceId/jobs/endpoint.py
index 6acf790c..2f271c9e 100644
--- a/opendc/api/v1/traces/traceId/tasks/endpoint.py
+++ b/opendc/api/v1/traces/traceId/jobs/endpoint.py
@@ -1,10 +1,10 @@
from opendc.models.trace import Trace
-from opendc.models.task import Task
+from opendc.models.job import Job
from opendc.util import database, exceptions
from opendc.util.rest import Response
def GET(request):
- """Get this Trace's Tasks."""
+ """Get this Trace's Jobs."""
# Make sure required parameters are there
@@ -25,12 +25,12 @@ def GET(request):
if not trace.exists():
return Response(404, '{} not found.'.format(trace))
- # Get and return the Tasks
+ # Get and return the Jobs
- tasks = Task.query('trace_id', request.params_path['traceId'])
+ jobs = Job.query('trace_id', request.params_path['traceId'])
return Response(
200,
- 'Successfully retrieved Tasks for {}.'.format(trace),
- [x.to_JSON() for x in tasks]
+ 'Successfully retrieved Jobs for {}.'.format(trace),
+ [x.to_JSON() for x in jobs]
)