diff --git a/doc/REST_API/openapi.yaml b/doc/REST_API/openapi.yaml index 46b5b8bfb31b3cb8591a92c62d001d34b36acd10..8eec3eadee98dc6f5b61ddfd26d1cb009a15578c 100644 --- a/doc/REST_API/openapi.yaml +++ b/doc/REST_API/openapi.yaml @@ -9,7 +9,8 @@ tags: - name: status description: Gather information that is changing while the job is running - name: application - description: Gather application specific information and give application specific commands + description: Gather application specific information and give application + specific commands - name: job description: Gather information concering the job - name: nodes @@ -31,7 +32,6 @@ tags: info: description: | An OpenAPI definition for the JuMonC REST API design. - version: v1 title: JuMonC API license: @@ -39,53 +39,465 @@ info: url: security: - ApiKeyAuth: [] - - paths: - # VERSION /version: - $ref: 'version.yaml' - - # Job + get: + tags: + - version + summary: Retrieve version information for this RestApi. + operationId: getVersion + responses: + "200": + description: successful operation + content: + application/json: + schema: + title: VersionResponse + type: object + properties: + JuMonC_version: + type: string + examples: + Example: + value: + JuMonC_version: 1.0.1a0 + "401": + description: unauthorized operation /v1/job: - $ref: 'v1/job.yaml#/job' - + get: + description: Lists links to avaiable job information + summary: List links for job information + operationId: job_get + tags: + - job + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: Job + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/job/config: - $ref: 'v1/job.yaml#/jobConfig' - + get: + description: Lists links to avaiable job config information + summary: List links for config information + operationId: jobConfig_get + tags: + - job + - config + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: JobConfig + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/job/status: - $ref: 'v1/job.yaml#/jobStatus' - + get: + description: Lists links to avaiable job status information + summary: List links for status information + operationId: jobStatus_get + tags: + - job + - status + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: JobStatus + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/job/nodes/config: - $ref: 'v1/job.yaml#/jobNodesConfig' - - # Runtime + get: + description: Lists links to avaiable configuration information concerning the + nodes of this job + operationId: jobNodesConfig_get + tags: + - job + - config + - nodes + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: NodesConfig + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/runtime: - $ref: 'v1/runtime.yaml#/runtime' - + get: + description: Lists links to avaiable runtime information + summary: List links for runtime information + operationId: runtime_get + tags: + - runtime + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: Runtime + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/runtime/CPU/counter: - $ref: 'v1/runtime.yaml#/runtimeCPUCounter' - + get: + description: Lists links to avaiable CPU hardware counter information + summary: List links for CPU counter information + operationId: runtimeCPUCounter_get + tags: + - runtime + - CPU + - counter + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: CPUCounter + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/runtime/CPU/status: - $ref: 'v1/runtime.yaml#/runtimeCPUStatus' - + get: + description: Lists links to avaiable CPU status information + summary: List links for CPU status information + operationId: runtimeCPUStatus_get + tags: + - runtime + - CPU + - status + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: CPUStatus + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/runtime/GPU/counter: - $ref: 'v1/runtime.yaml#/runtimeGPUCounter' - + get: + description: Lists links to avaiable GPU hardware counter information + summary: List links for GPU counter information + operationId: runtimeGPUCounter_get + tags: + - runtime + - GPU + - counter + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: GPUCounter + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/runtime/GPU/status: - $ref: 'v1/runtime.yaml#/runtimeGPUStatus' - + get: + description: Lists links to avaiable GPU status information + summary: List links for GPU status information + operationId: runtimeGPUStatus_get + tags: + - runtime + - GPU + - status + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: GPUStatus + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/runtime/network/status: - $ref: 'v1/runtime.yaml#/runtimeNetworkStatus' - + get: + description: Lists links to avaiable network status information + summary: List links for network status information + operationId: runtimeNetworkStatus_get + tags: + - runtime + - network + - status + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: NetworkStatus + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/runtime/IO/status: - $ref: 'v1/runtime.yaml#/runtimeIOStatus' - + get: + description: Lists links to avaiable IO status information + summary: List links for IO status information + operationId: runtimeIOStatus_get + tags: + - runtime + - IO + - status + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: IOStatus + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation /v1/runtime/mainmemory/status: - $ref: 'v1/runtime.yaml#/runtimeMainMemoryStatus' - - - - - - + get: + description: Lists links to avaiable main memory status information + summary: List links for main memory status information + operationId: runtimeMainMemoryStatus_get + tags: + - runtime + - main memory + - status + responses: + "200": + description: Successful operation + content: + application/json: + schema: + title: MainMemoryStatus + type: array + items: + type: object + properties: + link: + type: string + isOptional: + type: boolean + description: + type: string + parameters: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + "401": + description: Unauthorized operation diff --git a/doc/REST_API/openapi_main.yaml b/doc/REST_API/openapi_main.yaml new file mode 100644 index 0000000000000000000000000000000000000000..46b5b8bfb31b3cb8591a92c62d001d34b36acd10 --- /dev/null +++ b/doc/REST_API/openapi_main.yaml @@ -0,0 +1,91 @@ +openapi: 3.0.0 +tags: + - name: version + description: Version + - name: config + description: Gather information that is not changing while the job is running + - name: counter + description: Gather information from the raw performance counters + - name: status + description: Gather information that is changing while the job is running + - name: application + description: Gather application specific information and give application specific commands + - name: job + description: Gather information concering the job + - name: nodes + description: Gather information concering the nodes + - name: runtime + description: Gather information concering the runtime + - name: CPU + description: Gather information concering the CPU + - name: GPU + description: Gather information concering the GPU + - name: network + description: Gather information concering the network + - name: IO + description: Gather information concering the IO + - name: main memory + description: Gather information concering the main memory + - name: list + description: List cached results in this category +info: + description: | + An OpenAPI definition for the JuMonC REST API design. + + version: v1 + title: JuMonC API + license: + name: + url: +security: + - ApiKeyAuth: [] + + +paths: + # VERSION + /version: + $ref: 'version.yaml' + + # Job + /v1/job: + $ref: 'v1/job.yaml#/job' + + /v1/job/config: + $ref: 'v1/job.yaml#/jobConfig' + + /v1/job/status: + $ref: 'v1/job.yaml#/jobStatus' + + /v1/job/nodes/config: + $ref: 'v1/job.yaml#/jobNodesConfig' + + # Runtime + /v1/runtime: + $ref: 'v1/runtime.yaml#/runtime' + + /v1/runtime/CPU/counter: + $ref: 'v1/runtime.yaml#/runtimeCPUCounter' + + /v1/runtime/CPU/status: + $ref: 'v1/runtime.yaml#/runtimeCPUStatus' + + /v1/runtime/GPU/counter: + $ref: 'v1/runtime.yaml#/runtimeGPUCounter' + + /v1/runtime/GPU/status: + $ref: 'v1/runtime.yaml#/runtimeGPUStatus' + + /v1/runtime/network/status: + $ref: 'v1/runtime.yaml#/runtimeNetworkStatus' + + /v1/runtime/IO/status: + $ref: 'v1/runtime.yaml#/runtimeIOStatus' + + /v1/runtime/mainmemory/status: + $ref: 'v1/runtime.yaml#/runtimeMainMemoryStatus' + + + + + +