diff options
Diffstat (limited to 'dozentenmodulserver/api/src/main/resources/openapi.yaml')
-rw-r--r-- | dozentenmodulserver/api/src/main/resources/openapi.yaml | 568 |
1 files changed, 568 insertions, 0 deletions
diff --git a/dozentenmodulserver/api/src/main/resources/openapi.yaml b/dozentenmodulserver/api/src/main/resources/openapi.yaml new file mode 100644 index 00000000..ae247ad7 --- /dev/null +++ b/dozentenmodulserver/api/src/main/resources/openapi.yaml @@ -0,0 +1,568 @@ +openapi: 3.0.0 +info: + contact: + name: bwLehrpool-Server + url: https://git.openslx.org/openslx-ng/tutor-module.git + description: This is the description document of the bwLehrpool-Server API. The + API provides functionality to create, modify, and query events or virtual machine + images. You can find out more about the bwLehrpool-Server at [https://git.openslx.org/openslx-ng/tutor-module.git](https://git.openslx.org/openslx-ng/tutor-module.git). + title: bwLehrpool-Server + version: 1.0.0 +servers: +- url: http://192.168.200.20:9080 +tags: +- description: Query bwLehrpool events and virtual machine images + name: vmchooser +- description: Query bwLehrpool container images + name: container +- description: Status and actions of the bwLehrpool-Server + name: server +paths: + /vmchooser/list: + get: + operationId: vmchooserGetList + parameters: + - description: IDs of locations that need to be considered for the filter + explode: false + in: query + name: locations + required: false + schema: + items: + type: integer + type: array + style: spaceDelimited + - description: Include exam events for the filter + explode: true + in: query + name: exams + required: false + schema: + default: false + type: boolean + style: form + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/VirtualMachineImages' + description: Successful operation + "500": + description: Failed to retrieve list + summary: List all bwLehrpool virtual machine images + tags: + - vmchooser + x-accepts: application/xml + x-tags: + - tag: vmchooser + /vmchooser/lecture/{uuid}/metadata: + get: + operationId: vmchooserGetLectureMetadata + parameters: + - description: UUID of the lecture + explode: false + in: path + name: uuid + required: true + schema: + format: uuid + type: string + style: simple + responses: + "200": + content: + application/gzip: {} + description: Successful operation + "500": + description: Faild to retrieve metadata + summary: Get metadata for specified lecture + tags: + - vmchooser + x-accepts: application/gzip + x-tags: + - tag: vmchooser + /vmchooser/lecture/{uuid}/netrules: + get: + operationId: vmchooserGetLectureNetRules + parameters: + - description: UUID of the lecture + explode: false + in: path + name: uuid + required: true + schema: + format: uuid + type: string + style: simple + responses: + "200": + content: + text/plain: {} + description: Successful operation + "500": + description: Faild to retrieve network rules + summary: Get network rules for specified lecture + tags: + - vmchooser + x-accepts: text/plain + x-tags: + - tag: vmchooser + /vmchooser/lecture/{uuid}/imagemeta: + get: + operationId: vmchooserGetLectureImageMeta + parameters: + - description: UUID of the lecture + explode: false + in: path + name: uuid + required: true + schema: + format: uuid + type: string + style: simple + responses: + "200": + content: + application/json: {} + description: Successful operation + "500": + description: Faild to retrieve metadata + summary: Get metadata of virtual mchine image for specified lecture + tags: + - vmchooser + x-accepts: application/json + x-tags: + - tag: vmchooser + /bwlp/container/clusterimages: + get: + operationId: bwlpGetClusterImagesList + responses: + "200": + content: + application/json: {} + description: Successful operation + "500": + description: Failed to retrieve container images + summary: List all bwLehrpool container images + tags: + - container + x-accepts: application/json + x-tags: + - tag: container + /image/container/{uuid}/metadata: + get: + operationId: getContainerImageMetadata + parameters: + - description: UUID of the container + explode: false + in: path + name: uuid + required: true + schema: + format: uuid + type: string + style: simple + responses: + "200": + content: + application/json: {} + description: Successful operation + "500": + description: Failed to retrieve container metadata + summary: Get metadata for specified container image + tags: + - container + x-accepts: application/json + x-tags: + - tag: container + /status/fileserver: + get: + operationId: getFileserverStatus + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/StatusFileserver' + description: Successful operation + summary: Get bwLehrpool-Server status + tags: + - server + x-accepts: application/json + x-tags: + - tag: server + /do/mailtest: + post: + operationId: doMailtestOnFileserver + parameters: + - description: Domain of SMTP mail server + explode: true + in: query + name: host + required: true + schema: + type: string + style: form + - description: Port of SMTP mail server + explode: true + in: query + name: port + required: true + schema: + format: int32 + type: integer + style: form + - description: Encryption mode for the SMTP mail server + explode: true + in: query + name: ssl + required: true + schema: + enum: + - NONE + - IMPLICIT + - EXPLICIT + type: string + style: form + - description: Name of the SMTP mail server + explode: true + in: query + name: serverName + required: true + schema: + type: string + style: form + - description: Username for the SMTP mail server + explode: true + in: query + name: username + required: true + schema: + type: string + style: form + - description: Password for the SMTP mail server + explode: true + in: query + name: password + required: true + schema: + type: string + style: form + - description: Sender address for the test mail + explode: true + in: query + name: senderAddress + required: true + schema: + type: string + style: form + - description: Recipient for the test mail + explode: true + in: query + name: recipient + required: true + schema: + type: string + style: form + - description: Reply-To address for the test mail + explode: true + in: query + name: replyTo + required: true + schema: + type: string + style: form + responses: + "200": + content: + text/plain: {} + description: Successful operation + "400": + description: Failed to send test mail + summary: Send a test mail from the bwLehrpool-Server + tags: + - server + x-accepts: text/plain + x-tags: + - tag: server + /do/delete-images: + post: + operationId: doDeleteOldImagesOnFileserver + responses: + "200": + content: + text/plain: {} + description: Successful operation + "500": + description: Failed to delete old images + summary: Delete old images on the bwLehrpool-Server + tags: + - server + x-accepts: text/plain + x-tags: + - tag: server + /do/start-image-check: + post: + operationId: doStartImageCheckOnFileserver + parameters: + - description: Image version for the image check + explode: true + in: query + name: versionid + required: true + schema: + format: uuid + type: string + style: form + - description: Check hashes of images + explode: true + in: query + name: hash + required: true + schema: + type: boolean + style: form + - description: Update state of images + explode: true + in: query + name: update + required: true + schema: + type: boolean + style: form + responses: + "200": + content: + text/plain: {} + description: Successful operation + "500": + description: Failed to start image check + summary: Start image check on the bwLehrpool-Server + tags: + - server + x-accepts: text/plain + x-tags: + - tag: server + /do/query-image-check: + post: + operationId: doQueryImageCheckOnFileserver + parameters: + - description: Query image check for specified image version + explode: true + in: query + name: versionid + required: false + schema: + format: uuid + type: string + style: form + responses: + "200": + content: + application/json: {} + description: Successful operation + "500": + description: Failed to query image check + summary: Query image check on the bwLehrpool-Server + tags: + - server + x-accepts: application/json + x-tags: + - tag: server + /do/reset-mail-templates: + post: + operationId: doResetMailTemplatesOnFileserver + responses: + "200": + content: + text/plain: {} + description: Successful operation + "500": + description: Failed to reset mail templates + summary: Rest mail templates on the bwLehrpool-Server + tags: + - server + x-accepts: text/plain + x-tags: + - tag: server + /do/scan-orphaned-files: + post: + operationId: doScanOrphanedFilesOnFileserver + parameters: + - description: Action for orphaned files + explode: true + in: query + name: action + required: false + schema: + enum: + - delete + type: string + style: form + responses: + "200": + content: + application/json: {} + description: Successful operation + "500": + description: Failed to scan orphaned files + summary: Scan orphaned files on the bwLehrpool-Server + tags: + - server + x-accepts: application/json + x-tags: + - tag: server +components: + schemas: + VirtualMachineImages: + properties: + settings: + items: + $ref: '#/components/schemas/VirtualMachineImage' + type: array + type: object + xml: + name: settings + VirtualMachineImage: + properties: + name: + $ref: '#/components/schemas/VirtualMachineImage_name' + priority: + $ref: '#/components/schemas/VirtualMachineImage_priority' + creator: + $ref: '#/components/schemas/VirtualMachineImage_creator' + shortDescription: + $ref: '#/components/schemas/VirtualMachineImage_shortDescription' + longDescription: + $ref: '#/components/schemas/VirtualMachineImage_longDescription' + uuid: + $ref: '#/components/schemas/VirtualMachineImage_uuid' + virtualMachine: + $ref: '#/components/schemas/VirtualMachineImage_virtualMachine' + os: + $ref: '#/components/schemas/VirtualMachineImage_creator' + icon: + $ref: '#/components/schemas/VirtualMachineImage_creator' + virtualizerName: + $ref: '#/components/schemas/VirtualMachineImage_virtualizerName' + osName: + $ref: '#/components/schemas/VirtualMachineImage_osName' + forLocation: + $ref: '#/components/schemas/VirtualMachineImage_forLocation' + isTemplate: + $ref: '#/components/schemas/VirtualMachineImage_isTemplate' + type: object + xml: + name: eintrag + StatusFileserver: + example: + activeUploads: 0 + activeDownloads: 6 + properties: + activeUploads: + format: int32 + type: integer + activeDownloads: + format: int32 + type: integer + type: object + VirtualMachineImage_name: + properties: + param: + type: string + xml: + attribute: true + type: object + xml: + name: image_name + VirtualMachineImage_priority: + properties: + param: + format: int32 + type: integer + xml: + attribute: true + type: object + VirtualMachineImage_creator: + properties: + param: + type: string + xml: + attribute: true + type: object + VirtualMachineImage_shortDescription: + properties: + param: + type: string + xml: + attribute: true + type: object + xml: + name: short_description + VirtualMachineImage_longDescription: + properties: + param: + type: string + xml: + attribute: true + type: object + xml: + name: long_description + VirtualMachineImage_uuid: + properties: + param: + format: uuid + type: string + xml: + attribute: true + type: object + VirtualMachineImage_virtualMachine: + properties: + param: + type: string + xml: + attribute: true + type: object + xml: + name: virtualmachine + VirtualMachineImage_virtualizerName: + properties: + param: + type: string + xml: + attribute: true + type: object + xml: + name: virtualizer_name + VirtualMachineImage_osName: + properties: + param: + type: string + xml: + attribute: true + type: object + xml: + name: os_name + VirtualMachineImage_forLocation: + properties: + param: + type: string + xml: + attribute: true + type: object + xml: + name: for_location + VirtualMachineImage_isTemplate: + properties: + param: + enum: + - 0 + - 1 + format: int32 + type: integer + xml: + attribute: true + type: object + xml: + name: is_template |