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