summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-api/static/schema.yml
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-web/opendc-web-api/static/schema.yml')
-rw-r--r--opendc-web/opendc-web-api/static/schema.yml1631
1 files changed, 0 insertions, 1631 deletions
diff --git a/opendc-web/opendc-web-api/static/schema.yml b/opendc-web/opendc-web-api/static/schema.yml
deleted file mode 100644
index 56cf58e7..00000000
--- a/opendc-web/opendc-web-api/static/schema.yml
+++ /dev/null
@@ -1,1631 +0,0 @@
-openapi: 3.0.0
-info:
- version: 2.1.0
- title: OpenDC REST API v2
- description: OpenDC is an open-source datacenter simulator for education, featuring
- real-time online collaboration, diverse simulation models, and detailed
- performance feedback statistics.
- license:
- name: MIT
- url: https://spdx.org/licenses/MIT
- contact:
- name: Support
- url: https://opendc.org
-servers:
- - url: https://api.opendc.org/v2
-externalDocs:
- description: OpenDC REST API v2
- url: https://api.opendc.com/v2/docs/
-security:
- - auth0:
- - openid
-paths:
- /projects:
- get:
- tags:
- - projects
- description: List Projects of the active user
- responses:
- "200":
- description: Successfully
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- type: array
- items:
- $ref: "#/components/schemas/Project"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- post:
- tags:
- - projects
- description: Add a Project.
- requestBody:
- content:
- application/json:
- schema:
- properties:
- name:
- type: string
- description: The new Project.
- required: true
- responses:
- "200":
- description: Successfully added Project.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Project"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "/projects/{projectId}":
- get:
- tags:
- - projects
- description: Get this Project.
- parameters:
- - name: projectId
- in: path
- description: Project's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Project.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Project"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Project.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Project not found
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- put:
- tags:
- - projects
- description: Update this Project.
- parameters:
- - name: projectId
- in: path
- description: Project's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- properties:
- project:
- $ref: "#/components/schemas/Project"
- description: Project's new properties.
- required: true
- responses:
- "200":
- description: Successfully updated Project.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Project"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from updating Project.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Project not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- delete:
- tags:
- - projects
- description: Delete this project.
- parameters:
- - name: projectId
- in: path
- description: Project's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully deleted Project.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Project"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from deleting Project.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Project not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- "/projects/{projectId}/topologies":
- get:
- tags:
- - projects
- description: Get Project Topologies.
- parameters:
- - name: projectId
- in: path
- description: Project's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Project Topologies.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- type: array
- items:
- $ref: "#/components/schemas/Topology"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Project.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Project not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- post:
- tags:
- - projects
- description: Add a Topology.
- parameters:
- - name: projectId
- in: path
- description: Project's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- properties:
- topology:
- $ref: "#/components/schemas/Topology"
- description: The new Topology.
- required: true
- responses:
- "200":
- description: Successfully added Topology.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Topology"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "404":
- description: Project not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- "/projects/{projectId}/portfolios":
- get:
- tags:
- - projects
- description: Get Project Portfolios.
- parameters:
- - name: projectId
- in: path
- description: Project's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Project Portfolios.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- type: array
- items:
- $ref: "#/components/schemas/Portfolio"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Project.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Project not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- post:
- tags:
- - projects
- description: Add a Portfolio.
- parameters:
- - name: projectId
- in: path
- description: Project's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- properties:
- topology:
- $ref: "#/components/schemas/Portfolio"
- description: The new Portfolio.
- required: true
- responses:
- "200":
- description: Successfully added Portfolio.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Portfolio"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "404":
- description: Project not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- "/topologies/{topologyId}":
- get:
- tags:
- - topologies
- description: Get this Topology.
- parameters:
- - name: topologyId
- in: path
- description: Topology's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Topology.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Topology"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Topology.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Topology not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- put:
- tags:
- - topologies
- description: Update this Topology's name.
- parameters:
- - name: topologyId
- in: path
- description: Topology's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- properties:
- topology:
- $ref: "#/components/schemas/Topology"
- description: Topology's new properties.
- required: true
- responses:
- "200":
- description: Successfully updated Topology.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Topology"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Project.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Project not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- delete:
- tags:
- - topologies
- description: Delete this Topology.
- parameters:
- - name: topologyId
- in: path
- description: Topology's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully deleted Topology.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Topology"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from deleting Topology.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Topology not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- "/portfolios/{portfolioId}":
- get:
- tags:
- - portfolios
- description: Get this Portfolio.
- parameters:
- - name: portfolioId
- in: path
- description: Portfolio's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Portfolio.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Portfolio"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Portfolio.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Portfolio not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- put:
- tags:
- - portfolios
- description: Update this Portfolio.
- parameters:
- - name: portfolioId
- in: path
- description: Portfolio's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Portfolio"
- description: Portfolio's new properties.
- required: true
- responses:
- "200":
- description: Successfully updated Portfolio.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Portfolio"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Portfolio.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Portfolio not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- delete:
- tags:
- - portfolios
- description: Delete this Portfolio.
- parameters:
- - name: portfolioId
- in: path
- description: Portfolio's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully deleted Portfolio.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Portfolio"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Portfolio.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Portfolio not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- "/portfolios/{portfolioId}/scenarios":
- get:
- tags:
- - portfolios
- description: Get Portfolio Scenarios.
- parameters:
- - name: portfolioId
- in: path
- description: Portfolio's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Portfolio Scenarios.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- type: array
- items:
- $ref: "#/components/schemas/Scenario"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Portfolio.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Portfolio not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- post:
- tags:
- - portfolios
- description: Add a Scenario.
- parameters:
- - name: portfolioId
- in: path
- description: Portfolio's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- properties:
- topology:
- $ref: "#/components/schemas/Scenario"
- description: The new Scenario.
- required: true
- responses:
- "200":
- description: Successfully added Scenario.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Scenario"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "404":
- description: Portfolio not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- "/scenarios/{scenarioId}":
- get:
- tags:
- - scenarios
- description: Get this Scenario.
- parameters:
- - name: scenarioId
- in: path
- description: Scenario's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Scenario.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Scenario"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Scenario.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Scenario not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- put:
- tags:
- - scenarios
- description: Update this Scenario's name (other properties are read-only).
- parameters:
- - name: scenarioId
- in: path
- description: Scenario's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Scenario"
- description: Scenario with new name.
- required: true
- responses:
- "200":
- description: Successfully updated Scenario.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Scenario"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Scenario.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Scenario not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- delete:
- tags:
- - scenarios
- description: Delete this Scenario.
- parameters:
- - name: scenarioId
- in: path
- description: Scenario's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully deleted Scenario.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Scenario"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Scenario.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Scenario not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- /schedulers:
- get:
- tags:
- - simulation
- description: Get all available Schedulers
- responses:
- "200":
- description: Successfully retrieved Schedulers.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- type: array
- items:
- $ref: "#/components/schemas/Scheduler"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- /traces:
- get:
- tags:
- - simulation
- description: Get all available Traces
- responses:
- "200":
- description: Successfully retrieved Traces.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- type: array
- items:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "/traces/{traceId}":
- get:
- tags:
- - simulation
- description: Get this Trace.
- parameters:
- - name: traceId
- in: path
- description: Trace's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Trace.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Trace"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "404":
- description: Trace not found
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- /prefabs:
- get:
- tags:
- - prefabs
- description: Get all Prefabs the user has rights to view.
- responses:
- "200":
- description: Successfully retrieved prefabs the user is authorized on.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- type: array
- items:
- $ref: "#/components/schemas/Prefab"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- post:
- tags:
- - prefabs
- description: Add a Prefab.
- requestBody:
- content:
- application/json:
- schema:
- properties:
- name:
- type: string
- description: The new Prefab.
- required: true
- responses:
- "200":
- description: Successfully added Prefab.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Prefab"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "/prefabs/{prefabId}":
- get:
- tags:
- - prefabs
- description: Get this Prefab.
- parameters:
- - name: prefabId
- in: path
- description: Prefab's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Prefab.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Prefab"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Prefab.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Prefab not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- put:
- tags:
- - prefabs
- description: Update this Prefab.
- parameters:
- - name: prefabId
- in: path
- description: Prefab's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- properties:
- prefab:
- $ref: "#/components/schemas/Prefab"
- description: Prefab's new properties.
- required: true
- responses:
- "200":
- description: Successfully updated Prefab.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Prefab"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Prefab.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Prefab not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- delete:
- tags:
- - prefabs
- description: Delete this prefab.
- parameters:
- - name: prefabId
- in: path
- description: Prefab's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully deleted Prefab.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Prefab"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "404":
- description: Prefab not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- /jobs:
- get:
- tags:
- - jobs
- description: Get all available jobs to run.
- responses:
- "200":
- description: Successfully retrieved available jobs.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- type: array
- items:
- $ref: "#/components/schemas/Job"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "/jobs/{jobId}":
- get:
- tags:
- - jobs
- description: Get this Job.
- parameters:
- - name: jobId
- in: path
- description: Job's ID.
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Successfully retrieved Job.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Job"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Job.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Job not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- post:
- tags:
- - jobs
- description: Update this Job.
- parameters:
- - name: jobId
- in: path
- description: Job's ID.
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- properties:
- job:
- $ref: "#/components/schemas/Job"
- description: Job's new properties.
- required: true
- responses:
- "200":
- description: Successfully updated Job.
- content:
- "application/json":
- schema:
- type: object
- required:
- - data
- properties:
- data:
- $ref: "#/components/schemas/Job"
- "400":
- description: Missing or incorrectly typed parameter.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
- "401":
- description: Unauthorized.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Unauthorized"
- "403":
- description: Forbidden from retrieving Job.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Forbidden"
- "404":
- description: Job not found.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/NotFound"
- "409":
- description: State conflict.
- content:
- "application/json":
- schema:
- $ref: "#/components/schemas/Invalid"
-components:
- securitySchemes:
- auth0:
- type: oauth2
- x-token-validation-url: https://opendc.eu.auth0.com/userinfo
- flows:
- authorizationCode:
- authorizationUrl: https://opendc.eu.auth0.com/authorize
- tokenUrl: https://opendc.eu.auth0.com/oauth/token
- scopes:
- openid: Grants access to user_id
- runner: Grants access to runner jobs
- schemas:
- Unauthorized:
- type: object
- required:
- - message
- properties:
- message:
- type: string
- Invalid:
- type: object
- required:
- - message
- - errors
- properties:
- message:
- type: string
- errors:
- type: array
- items:
- type: string
- Forbidden:
- type: object
- required:
- - message
- properties:
- message:
- type: string
- NotFound:
- type: object
- required:
- - message
- properties:
- message:
- type: string
- Scheduler:
- type: object
- properties:
- name:
- type: string
- Project:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- datetimeCreated:
- type: string
- format: dateTime
- datetimeLastEdited:
- type: string
- format: dateTime
- topologyIds:
- type: array
- items:
- type: string
- portfolioIds:
- type: array
- items:
- type: string
- authorizations:
- type: array
- items:
- type: object
- properties:
- userId:
- type: string
- level:
- type: string
- enum: ['OWN', 'EDIT', 'VIEW']
- Topology:
- type: object
- properties:
- _id:
- type: string
- projectId:
- type: string
- name:
- type: string
- rooms:
- type: array
- items:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- tiles:
- type: array
- items:
- type: object
- properties:
- _id:
- type: string
- positionX:
- type: integer
- positionY:
- type: integer
- object:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- capacity:
- type: integer
- powerCapacityW:
- type: integer
- machines:
- type: array
- items:
- type: object
- properties:
- _id:
- type: string
- position:
- type: integer
- cpus:
- type: array
- items:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- clockRateMhz:
- type: integer
- numberOfCores:
- type: integer
- energyConsumptionW:
- type: integer
- gpus:
- type: array
- items:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- clockRateMhz:
- type: integer
- numberOfCores:
- type: integer
- energyConsumptionW:
- type: integer
- memories:
- type: array
- items:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- speedMbPerS:
- type: integer
- sizeMb:
- type: integer
- energyConsumptionW:
- type: integer
- storages:
- type: array
- items:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- speedMbPerS:
- type: integer
- sizeMb:
- type: integer
- energyConsumptionW:
- type: integer
- Portfolio:
- type: object
- properties:
- _id:
- type: string
- projectId:
- type: string
- name:
- type: string
- scenarioIds:
- type: array
- items:
- type: string
- targets:
- type: object
- properties:
- enabledMetrics:
- type: array
- items:
- type: string
- repeatsPerScenario:
- type: integer
- Scenario:
- type: object
- properties:
- _id:
- type: string
- portfolioId:
- type: string
- name:
- type: string
- trace:
- type: object
- properties:
- traceId:
- type: string
- loadSamplingFraction:
- type: number
- topology:
- type: object
- properties:
- topologyId:
- type: string
- operational:
- type: object
- properties:
- failuresEnabled:
- type: boolean
- performanceInterferenceEnabled:
- type: boolean
- schedulerName:
- type: string
- Job:
- type: object
- properties:
- _id:
- type: string
- scenarioId:
- type: string
- state:
- type: string
- heartbeat:
- type: string
- results:
- type: object
- Trace:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- path:
- type: string
- type:
- type: string
- Prefab:
- type: object
- properties:
- _id:
- type: string
- name:
- type: string
- datetimeCreated:
- type: string
- format: dateTime
- datetimeLastEdited:
- type: string
- format: dateTime