summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/api/src/main/resources/openapi.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodulserver/api/src/main/resources/openapi.yaml')
-rw-r--r--dozentenmodulserver/api/src/main/resources/openapi.yaml568
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