openapi: 3.0.3 info: version: 3.1.0 description: 'Nerve Management System API to manage: -labels -nodes -workloads -notifications -capabilities' title: Nerve Management System API contact: name: Nerve support email: support@tttech-industrial.com servers: - url: https://trynerve1.nerve.cloud tags: - name: LABEL description: The operations to manage labels - name: NODE description: The operations to manage nodes v1. - name: NODE_v2 description: The operations to manage nodes v2. - name: WORKLOAD description: The operations to manage workloads v1. - name: WORKLOAD_v2 description: The operations to manage workloads v2. - name: WORKLOAD_v3 description: The operations to manage workloads v3. - name: WL_VERSION_v2 description: The operations to manage specific versions of workloads v2 - name: WL_VERSION_v3 description: The operations to manage specific versions of workloads v3 - name: WL_VERSION_FILE description: The operations to manage workload files of specific versions v3 - name: DOCKER_COMPOSE_FILE description: The operations to manage docker compose file - name: WORKLOAD_CONFIGURATION description: The operations to manage workload configurations - name: DNA description: The operations to manage workload DNA configuration - name: SERVICE-OS-DNA description: The operations to manage Service OS DNA configuration - name: NOTIFICATION description: The operations to manage notifications. - name: CAPABILITIES description: The operations to manage node capabilities - name: EMQX description: The operations to manage authentication and authorization of MQTT clients - name: USAGE_REPORTS description: The operations to manage usage reports - name: REMOTE_CONNECTIONS description: The operations to manage remote connections. - name: DATA EXCHANGE description: The operations to manage node data exchange. - name: NERVE_DOCKER_REGISTRY description: The operations to manage Docker registry - name: LDAP description: The operations to manage LDAP users - name: AUTH description: The operations to manage authentication and authorization of MS users - name: NERVE_UPDATE description: The operations to manage Nerve updates - name: INTERNAL_TEST_API description: Operations intended solely for testing, used to validate system behavior under invalid or edge-case data scenarios. Not for production use. paths: /nerve/workload/controller: post: summary: Control life-cycle and workflow of the deployed workload operationId: managing_deployed_workload tags: - WORKLOAD description: Used to control life-cycle and workflow of the deployed workload. With this request the command is only sent to OVDM, the result of the operation is received via mqtt. requestBody: required: true content: application/json: schema: type: object description: Request body for controlling the life-cycle and workflow of the deployed workload required: - deviceId - serialNumber - command - sessionToken properties: deviceId: type: integer format: int32 description: Id of the deployed workload minimum: 100 maximum: 1000 serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} sessionToken: description: Session token of the user who initiated the action minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ command: type: string description: Command to be executed enum: - START - STOP - SUSPEND - RESUME - RESTART - UNDEPLOY workloadId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 versionId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 removeImages: type: boolean description: 'Specifies whether Docker and Docker Compose images associated with the deployed workload should be removed during the undeploy process. - If set to **true**, all images linked to the workload will be deleted from the system. - If set to **false**, the images will be retained. This setting applies specifically to workloads using the Management System Registry. ' examples: wl_control_req: value: command: UNDEPLOY serialNumber: MFN111111111 deviceId: 895 sessionToken: 62569e8b448cd10020407243-9fa80007fef2eb190c876038527d8fd3e2afb0ece03402a19563a4f754107e9e workloadId: 62e8e8ef39c508006b8c5231 versionId: 62e8e8ef39c508006b8c5232 x-permissions: - WORKLOAD:CONTROL responses: '200': description: Request successfully executed content: application/json: schema: description: Message that the command has been accepted for processing oneOf: - type: string - type: object maxProperties: 0 examples: wl_control_ok: value: OK '400': description: UNDEPLOY command cannot be executed, workload backup is in progress content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: wl_undeploy_not_possible: value: errorCode: nerve_workload_140 httpCode: '400' message: The workload cannot be undeployed, a backup is in progress '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when node with specified serial number does not exist. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_found: value: errorCode: 000719 httpCode: '404' message: Node with this serial number does not exist '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: wl_control_err: value: errorCode: nerve_workload_045 httpCode: '500' message: Undeploy failed /nerve/workload/node/{serialNumber}/devices: get: summary: Get list of deployed workloads on the selected node operationId: list_deployed_workloads tags: - NODE description: Used to retrieve the list of deployed Workloads(devices) from a specific node parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: timeout in: query required: false description: The time how long to wait for the response in miliseconds schema: type: integer format: int32 minimum: 10000 default: 10000 description: How long to wait for the response from the node [milliseconds] maximum: 86400000 x-permissions: - DEVICE:LIST responses: '200': description: List of deployed workloads from a specific node content: application/json: schema: type: array description: List of deployed workloads from a specific node minItems: 0 maxItems: 1001 items: description: Object contains information of deployed workload provided from OVDM type: object properties: class: type: string description: Class of the device enum: - WiseGenericDev device_firmware_version: description: Firmware version of the device minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ device_manufacturer: type: string description: Manufacturer of the device enum: - TTTech device_model_name: type: string description: Device model name enum: - Docker - KVM Virtual Machine - Codesys - Docker Compose device_name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) id: type: integer format: int32 description: Id of the deployed workload minimum: 100 maximum: 1000 status: description: Numerical value representing the status of workload type: integer format: int32 minimum: 0 maximum: 13 versionId: description: Version id generated for VM backups or version id from DB for docker workloads minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ workloadId: description: Workload id generated for VM backups or workload id from DB for docker workloads minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose parentNodeSerial: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} features: type: array description: List of specific workload features(e.g. snapshot) minItems: 0 maxItems: 1001 items: type: object required: - name - value properties: name: description: Feature name minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ value: type: object description: Feature value layout: type: array description: List of layout items, currently not used minItems: 0 maxItems: 0 service_list: type: array minItems: 0 maxItems: 1001 description: List of services running on the device items: type: object properties: category: description: Category of the service minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the service minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ priority: description: Priority of the service type: integer format: int32 minimum: 0 maximum: 0 type: description: Type of the service minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ priority_list: minItems: 0 maxItems: 1001 type: array description: List of priority levels for the service items: type: object properties: name: description: Name of the priority level minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ options: type: array description: List of options for the priority level minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ value: description: Value of the priority level oneOf: - type: string - type: integer format: int64 minimum: 0 maximum: 1000000 timestamp: description: Timestamp of the priority level value type: integer format: int64 minimum: 0 maximum: 4102444800000 device_api_version: description: API version of the device minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: list_deployed_workloads: value: - value: class: WiseGenericDev device_firmware_version: '1.0' device_manufacturer: TTTech device_model_name: KVM Virtual Machine device_name: slitazkvm id: 331 status: 2 layout: [] service_list: - category: dev_information name: WiseConfigurationService priority: 0 type: WiseConfigurationService property_list: - name: Value options: [] value: '{"workloadId":"62e8e8ef39c508006b8c5231","versionId":"62e8e8ef39c508006b8c5232","workloadVersion":"slitaz kvm","workloadVersionName":"slitaz kvm","deployTime":1659433001122}' timestamp: 1659433013838 - name: ConfigurationUpdateStatus options: [] value: '{}' - category: dev_information name: VMControlService priority: 0 type: VMControlService property_list: - name: Command options: - NONE - START - STOP - SUSPEND - RESUME - RESTART - REMOVE value: 0 - name: Message options: [] value: vm_started timestamp: 1659684239582 - name: State options: - IDLE - CREATING - REMOVING - SUSPENDING - SUSPENDED - STARTING - RESTARTING - RESUMING - STARTED - STOPPING - STOPPED - ERROR - REMOVING_FAILED value: 8 timestamp: 1659684239584 - name: CPUNumber options: [] value: 2 timestamp: 1659617887944 - name: Memory options: [] value: 2000000000 timestamp: 1659617887947 versionId: 62e8e8ef39c508006b8c5232 parentNodeSerial: MFN111111111 features: - name: snapshot value: enabled: false space: '' workloadId: 62e8e8ef39c508006b8c5231 type: vm device_api_version: 2.5.0 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when node with specified serial number does not exist. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_found: value: errorCode: 000719 httpCode: '404' message: Node with this serial number does not exist '500': description: Request failed, this is the response received when an unexpected error occurred content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ '504': description: Node failed to response in expected time content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_021 httpCode: '504' message: Request rejected by timeout /nerve/workload/{workloadId}: delete: summary: Delete the selected workload operationId: delete_workload tags: - WORKLOAD description: Used to delete specific workload by ID parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:DELETE responses: '204': description: The resource was deleted successfully '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist /nerve/v2/workloads: post: summary: Create workload operationId: create_workload_v2 tags: - WORKLOAD_v2 description: Used to create a new workload requestBody: description: Defines workload object required: true content: multipart/form-data: schema: type: object description: Request body for creating a workload additionalProperties: false properties: data: allOf: - type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Information about workload and version(stringify JSON object). For more details please refer to __v2_create_workload__ schema, globally defined at the end of this document. file: description: File containing workload version data type: string minLength: 1 maxLength: 1000 format: binary x-permissions: - WORKLOAD:CREATE responses: '200': description: Workload successfully created content: application/json: schema: description: workload basic info type: object required: - name - type - deleted - disabled - _id properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose changedBy: type: object description: Information about user who changed the workload required: - date properties: date: description: Changed date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who changed the workload anyOf: - type: string nullable: true - type: object nullable: true createdBy: type: object description: Information about user who created the workload required: - date properties: date: description: Creation date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who created the workload oneOf: - type: string - type: object deleted: description: Indicates if the workload marked as deleted:) type: boolean default: false disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object tenant: description: Reference to 'Tenant' collection oneOf: - type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 20 maxLength: 40 - type: object path: description: The path to the tenant folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ __v: type: number description: Internal version key used by Mongoose for document versioning versions: type: array minItems: 0 maxItems: 1001 default: [] description: Workload version data items: description: Workload version data oneOf: - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - capabilities properties: workloadProperties: description: VM specific properties anyOf: - description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - description: VM properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the VM property enum: - data_disks - memory - no_of_vCPUs - snapshot - libvirt_networks - PCI_passthrough value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array - type: object capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 2 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - Virtualization - Virtualization via XEN - Virtualization via KVM - Virtualization via ACRN _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - dockerFileOption - capabilities properties: workloadProperties: anyOf: - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry - description: Docker specific properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the Docker property enum: - container_name - restart_policy - networks - docker_volumes_new - docker_volumes - environment_variables - limit_CPUs - limit_memory - port_mappings_protocol - port_mappings - auth-credentials value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array dockerFileOption: description: option indicating if file is uploaded or docker image from registry is used type: string enum: - file - path dockerFilePath: description: Name of the docker image. Exists if dockerFileOption is path minLength: 0 maxLength: 354 pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ anyOf: - type: string minLength: 2 - type: string nullable: true capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability minLength: 1 maxLength: 1000 enum: - Docker Container _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - capabilities properties: workloadProperties: description: Codesys specific properties anyOf: - type: array minItems: 0 maxItems: 0 - type: object minProperties: 0 maxProperties: 0 capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - CODESYS PLC _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ example: name: workload type: docker deleted: true disabled: true _id: 63289b62a66707202114986d '400': description: Invalid parameters content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000701' httpCode: '400' message: Workload object invalid '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '409': description: Workload with this name already exists content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000702' httpCode: '409' message: Workload with this name already exists '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '422': description: Action is not supported for docker-compose workloads. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_invalid_object_data_err: value: errorCode: nerve_workload_208 httpCode: '400' message: Action is not supported for provided workload type. This route is not available for docker-compose workload type. Please use V3 routes for actions related to the docker-compose workloads. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. patch: summary: Update workload and version data operationId: update_workload_version_v2 tags: - WORKLOAD_v2 description: Used to update workload and version data requestBody: required: true content: multipart/form-data: schema: additionalProperties: false description: Request body for updating a workload type: object properties: data: type: string minLength: 1 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ description: Information about workload and version(stringify JSON object). For more details please refer to __v2_update_workload__ schema, globally defined at the end of this document. file: type: string description: File containing workload version data minLength: 1 maxLength: 1000 format: binary x-permissions: - WORKLOAD:EDIT responses: '200': description: Workload object from db content: application/json: schema: description: workload basic info type: object required: - name - type - deleted - disabled - _id properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose changedBy: type: object description: Information about user who changed the workload required: - date properties: date: description: Changed date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who changed the workload anyOf: - type: string nullable: true - type: object nullable: true createdBy: type: object description: Information about user who created the workload required: - date properties: date: description: Creation date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who created the workload oneOf: - type: string - type: object deleted: description: Indicates if the workload marked as deleted:) type: boolean default: false disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object tenant: description: Reference to 'Tenant' collection oneOf: - type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 20 maxLength: 40 - type: object path: description: The path to the tenant folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ __v: type: number description: Internal version key used by Mongoose for document versioning versions: type: array minItems: 0 maxItems: 1001 default: [] description: Workload version data items: description: Workload version data oneOf: - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - capabilities properties: workloadProperties: description: VM specific properties anyOf: - description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - description: VM properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the VM property enum: - data_disks - memory - no_of_vCPUs - snapshot - libvirt_networks - PCI_passthrough value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array - type: object capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 2 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - Virtualization - Virtualization via XEN - Virtualization via KVM - Virtualization via ACRN _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - dockerFileOption - capabilities properties: workloadProperties: anyOf: - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry - description: Docker specific properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the Docker property enum: - container_name - restart_policy - networks - docker_volumes_new - docker_volumes - environment_variables - limit_CPUs - limit_memory - port_mappings_protocol - port_mappings - auth-credentials value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array dockerFileOption: description: option indicating if file is uploaded or docker image from registry is used type: string enum: - file - path dockerFilePath: description: Name of the docker image. Exists if dockerFileOption is path minLength: 0 maxLength: 354 pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ anyOf: - type: string minLength: 2 - type: string nullable: true capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability minLength: 1 maxLength: 1000 enum: - Docker Container _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - capabilities properties: workloadProperties: description: Codesys specific properties anyOf: - type: array minItems: 0 maxItems: 0 - type: object minProperties: 0 maxProperties: 0 capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - CODESYS PLC _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ example: name: workload type: docker deleted: true disabled: true _id: 63289b62a66707202114986d '400': description: Invalid parameters content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_invalid_object_data_err: value: errorCode: '000701' httpCode: '400' message: Workload object invalid! '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '409': description: Workload with this name already exists content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000702' httpCode: '409' message: Workload with this name already exists '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '422': description: Action is not supported for docker-compose workloads. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_invalid_object_data_err: value: errorCode: nerve_workload_208 httpCode: '400' message: Action is not supported for provided workload type. This route is not available for docker-compose workload type. Please use V3 routes for actions related to the docker-compose workloads. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. get: summary: Get list of all workloads operationId: get_workloads_filtered tags: - WORKLOAD_v2 description: This method is called to fetch all workloads from database parameters: - name: page in: query required: true description: A page of results to be returned. If not set, the default value is 0 and a first page will be returned. A number of items per page is defined by parameter limit. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: filterBy in: query description: Defines the search criteria allowReserved: true schema: type: object properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Filter the list by workload name minLength: 0 maxLength: 1000 disabled: type: boolean description: Filter the list by disabled property type: description: Filter the list by workload type anyOf: - description: Workload type type: string enum: - docker - vm - codesys - docker-compose - type: string enum: - '' examples: filter_by_name: summary: Filter a list of workloads by name value: name: workload disabled: false type: '' filter_by_disabled: summary: Show disabled workloads value: name: '' type: '' filter_by_type: summary: Filter a list of workloads by type value: name: '' disabled: false type: vm - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: order in: query description: Order by workload name or created time allowReserved: true schema: type: string description: Order by workload name or created time enum: - '{"created":"desc"}' - '{"created":"asc"}' - '{"name":"desc"}' - '{"name":"asc"}' x-permissions: - WORKLOAD:LIST responses: '200': description: List of workloads that match the criteria content: application/json: schema: description: Response of get workloads filtered list type: object required: - count - data properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: description: List of workloads that match the search criteria type: array minItems: 0 maxItems: 1001 items: type: object description: Basic workload information without version data required: - createdBy - name - type - disabled - _id properties: createdBy: type: object description: Information about user who created the workload required: - date properties: date: description: Creation date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who created the workload oneOf: - type: string - type: object name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose disabled: type: boolean description: Indicates if workload can be used in deployment or no _id: description: Workload id oneOf: - type: object - type: string example: count: 1 data: - createdBy: date: '2025-11-14T16:11:34.219Z' name: workload type: docker disabled: true _id: 630320c1fc6ed10038ff8f21 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/v2/workloads/{workloadId}: get: summary: Get workload selected by ID operationId: get_specific_workload tags: - WORKLOAD_v2 description: Method is used to retrieve one specific workload by id parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '200': description: successful operation content: application/json: schema: description: workload basic info type: object required: - name - type - deleted - disabled - _id properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose changedBy: type: object description: Information about user who changed the workload required: - date properties: date: description: Changed date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who changed the workload anyOf: - type: string nullable: true - type: object nullable: true createdBy: type: object description: Information about user who created the workload required: - date properties: date: description: Creation date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who created the workload oneOf: - type: string - type: object deleted: description: Indicates if the workload marked as deleted:) type: boolean default: false disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object tenant: description: Reference to 'Tenant' collection oneOf: - type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 20 maxLength: 40 - type: object path: description: The path to the tenant folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ __v: type: number description: Internal version key used by Mongoose for document versioning versions: type: array minItems: 0 maxItems: 1001 default: [] description: Workload version data items: description: Workload version data oneOf: - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - capabilities properties: workloadProperties: description: VM specific properties anyOf: - description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - description: VM properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the VM property enum: - data_disks - memory - no_of_vCPUs - snapshot - libvirt_networks - PCI_passthrough value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array - type: object capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 2 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - Virtualization - Virtualization via XEN - Virtualization via KVM - Virtualization via ACRN _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - dockerFileOption - capabilities properties: workloadProperties: anyOf: - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry - description: Docker specific properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the Docker property enum: - container_name - restart_policy - networks - docker_volumes_new - docker_volumes - environment_variables - limit_CPUs - limit_memory - port_mappings_protocol - port_mappings - auth-credentials value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array dockerFileOption: description: option indicating if file is uploaded or docker image from registry is used type: string enum: - file - path dockerFilePath: description: Name of the docker image. Exists if dockerFileOption is path minLength: 0 maxLength: 354 pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ anyOf: - type: string minLength: 2 - type: string nullable: true capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability minLength: 1 maxLength: 1000 enum: - Docker Container _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - capabilities properties: workloadProperties: description: Codesys specific properties anyOf: - type: array minItems: 0 maxItems: 0 - type: object minProperties: 0 maxProperties: 0 capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - CODESYS PLC _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ example: name: workload type: docker deleted: true disabled: true _id: 63289b62a66707202114986d '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '422': description: Action is not supported for docker-compose workloads. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_invalid_object_data_err: value: errorCode: nerve_workload_208 httpCode: '400' message: Action is not supported for provided workload type. This route is not available for docker-compose workload type. Please use V3 routes for actions related to the docker-compose workloads. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. patch: summary: Update workload data operationId: update_workload_general_data tags: - WORKLOAD_v2 description: This method is used to update general workload data (name, description) parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: required: true content: application/json: schema: description: workload basic info type: object required: - name - type - deleted - disabled - _id properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string minLength: 1 maxLength: 1000 enum: - docker - vm - codesys changedBy: type: object description: Information about user who changed the workload required: - date properties: date: description: Changed date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who changed the workload anyOf: - type: string nullable: true - type: object nullable: true createdBy: type: object description: Information about user who created the workload required: - date properties: date: description: Creation date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who created the workload oneOf: - type: string - type: object deleted: description: Indicates if the workload marked as deleted:) type: boolean default: false disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object tenant: description: Reference to 'Tenant' collection oneOf: - type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 20 maxLength: 40 - type: object path: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The path to the tenant folder minLength: 0 maxLength: 1000 __v: description: Internal version key used by Mongoose for document versioning type: number versions: minItems: 0 maxItems: 1001 description: Workload version data type: array default: [] items: description: Workload version data oneOf: - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - capabilities properties: workloadProperties: description: VM specific properties anyOf: - description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - description: VM properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the VM property enum: - data_disks - memory - no_of_vCPUs - snapshot - libvirt_networks - PCI_passthrough value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array - type: object capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 2 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - Virtualization - Virtualization via XEN - Virtualization via KVM - Virtualization via ACRN _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - dockerFileOption - capabilities properties: workloadProperties: anyOf: - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry - description: Docker specific properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the Docker property enum: - container_name - restart_policy - networks - docker_volumes_new - docker_volumes - environment_variables - limit_CPUs - limit_memory - port_mappings_protocol - port_mappings - auth-credentials value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array dockerFileOption: description: option indicating if file is uploaded or docker image from registry is used type: string enum: - file - path dockerFilePath: description: Name of the docker image. Exists if dockerFileOption is path minLength: 0 maxLength: 354 pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ anyOf: - type: string minLength: 2 - type: string nullable: true capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability minLength: 1 maxLength: 1000 enum: - Docker Container _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - capabilities properties: workloadProperties: description: Codesys specific properties anyOf: - type: array minItems: 0 maxItems: 0 - type: object minProperties: 0 maxProperties: 0 capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - CODESYS PLC _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ x-permissions: - WORKLOAD:EDIT responses: '200': description: successful operation content: application/json: schema: description: workload basic info type: object required: - name - type - deleted - disabled - _id properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose changedBy: type: object description: Information about user who changed the workload required: - date properties: date: description: Changed date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who changed the workload anyOf: - type: string nullable: true - type: object nullable: true createdBy: type: object description: Information about user who created the workload required: - date properties: date: description: Creation date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who created the workload oneOf: - type: string - type: object deleted: description: Indicates if the workload marked as deleted:) type: boolean default: false disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object tenant: description: Reference to 'Tenant' collection oneOf: - type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 20 maxLength: 40 - type: object path: description: The path to the tenant folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ __v: type: number description: Internal version key used by Mongoose for document versioning versions: type: array minItems: 0 maxItems: 1001 default: [] description: Workload version data items: description: Workload version data oneOf: - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - capabilities properties: workloadProperties: description: VM specific properties anyOf: - description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - description: VM properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the VM property enum: - data_disks - memory - no_of_vCPUs - snapshot - libvirt_networks - PCI_passthrough value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array - type: object capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 2 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - Virtualization - Virtualization via XEN - Virtualization via KVM - Virtualization via ACRN _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - dockerFileOption - capabilities properties: workloadProperties: anyOf: - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry - description: Docker specific properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the Docker property enum: - container_name - restart_policy - networks - docker_volumes_new - docker_volumes - environment_variables - limit_CPUs - limit_memory - port_mappings_protocol - port_mappings - auth-credentials value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array dockerFileOption: description: option indicating if file is uploaded or docker image from registry is used type: string enum: - file - path dockerFilePath: description: Name of the docker image. Exists if dockerFileOption is path minLength: 0 maxLength: 354 pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ anyOf: - type: string minLength: 2 - type: string nullable: true capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability minLength: 1 maxLength: 1000 enum: - Docker Container _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - capabilities properties: workloadProperties: description: Codesys specific properties anyOf: - type: array minItems: 0 maxItems: 0 - type: object minProperties: 0 maxProperties: 0 capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - CODESYS PLC _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ examples: workload_docker_db: value: createdBy: user: 62569e8b448cd10020407243 date: '2022-06-16T10:37:57.622Z' changedBy: user: 62569e8b448cd10020407243 date: '2022-08-01T08:44:28.652Z' deleted: false disabled: true _id: 62ab08059716b00bd6b59f1f name: nginx description: '' type: docker versions: - template: values: [] deleted: false released: false selectors: [] isDeployable: true hash: ac339daed7d77cf3baaaf0ba7f8ff897 remoteConnections: - 62ab09cc9716b00bd6b59f34 isDownloading: false restartOnConfigurationUpdate: false firstVolumeAsConfigurationStorage: false _id: 62ab09cc9716b00bd6b59f35 name: nginx port mapping releaseName: nginx port mapping workloadProperties: - _id: 62ab09cc9716b00bd6b59f36 key: container_name value: nginx - _id: 62ab09cc9716b00bd6b59f37 key: networks value: bridge - _id: 62ab09cc9716b00bd6b59f38 key: port_mappings_protocol value: 1111=80/tcp dockerFilePath: nginx dockerFileOption: path files: - containFileType: '' _id: 62ab08469716b00bd6b59f25 hash: fb88262f30f908e1e0c9328547b06460 path: 62ab08059716b00bd6b59f1f/85b77980-ed60-11ec-ae8b-eb874e63d5e8.tar.gz originalName: 85b77980-ed60-11ec-ae8b-eb874e63d5e8.tar name: 85b77980-ed60-11ec-ae8b-eb874e63d5e8.tar.gz size: '145951232' compressedSize: '54767226' type: .tar fieldName: file imageId: 0e901e68141fd02f237cf63eb842529f8a9500636a9419e3cf4fb986b8fe3d5d virtualSize: '' capabilities: - _id: 6257e3c1e87b04b86579a2f9 name: Docker Container description: '' createdAt: '2022-06-16T10:45:32.418Z' path: base_path_folder tenant: 5c01189c94beaff01a5f1e3c __v: 0 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '409': description: Workload with this name already exists content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000702' httpCode: '409' message: Workload with this name already exists '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '422': description: Action is not supported for docker-compose workloads. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_invalid_object_data_err: value: errorCode: nerve_workload_208 httpCode: '400' message: Action is not supported for provided workload type. This route is not available for docker-compose workload type. Please use V3 routes for actions related to the docker-compose workloads. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/v2/workloads/{workloadId}/versions/{versionId}: delete: summary: Delete selected workload version operationId: delete_workload_version tags: - WL_VERSION_v2 description: This method is used to delete specific workload version parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VERSION_DELETE responses: '200': description: Workload version deleted content: application/json: schema: description: workload basic info type: object required: - name - type - deleted - disabled - _id properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose changedBy: type: object description: Information about user who changed the workload required: - date properties: date: description: Changed date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who changed the workload anyOf: - type: string nullable: true - type: object nullable: true createdBy: type: object description: Information about user who created the workload required: - date properties: date: description: Creation date anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object user: description: User who created the workload oneOf: - type: string - type: object deleted: description: Indicates if the workload marked as deleted:) type: boolean default: false disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object tenant: description: Reference to 'Tenant' collection oneOf: - type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 20 maxLength: 40 - type: object path: description: The path to the tenant folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ __v: type: number description: Internal version key used by Mongoose for document versioning versions: type: array minItems: 0 maxItems: 1001 default: [] description: Workload version data items: description: Workload version data oneOf: - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - capabilities properties: workloadProperties: description: VM specific properties anyOf: - description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - description: VM properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the VM property enum: - data_disks - memory - no_of_vCPUs - snapshot - libvirt_networks - PCI_passthrough value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array - type: object capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 2 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - Virtualization - Virtualization via XEN - Virtualization via KVM - Virtualization via ACRN _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - workloadProperties - dockerFileOption - capabilities properties: workloadProperties: anyOf: - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry - description: Docker specific properties as list of key/value pairs type: array minItems: 1 items: type: object properties: key: type: string description: Name of the Docker property enum: - container_name - restart_policy - networks - docker_volumes_new - docker_volumes - environment_variables - limit_CPUs - limit_memory - port_mappings_protocol - port_mappings - auth-credentials value: description: Value assigned to the property anyOf: - type: string - type: integer format: int32 minimum: 0 maximum: 1000000 - type: array dockerFileOption: description: option indicating if file is uploaded or docker image from registry is used type: string enum: - file - path dockerFilePath: description: Name of the docker image. Exists if dockerFileOption is path minLength: 0 maxLength: 354 pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ anyOf: - type: string minLength: 2 - type: string nullable: true capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability minLength: 1 maxLength: 1000 enum: - Docker Container _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false - allOf: - description: Docker version info from db type: object required: - name - releaseName - deleted - released - files - isDeployable - isDownloading - hash properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deleted: description: Indicates if the version marked as deleted type: boolean released: description: Indicates if the version is released type: boolean isDeployable: description: Indicates if the version can be used in deployment type: boolean isDownloading: description: Indicates if the version is in downloading state type: boolean hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: Version id oneOf: - type: object - type: string files: description: List of files attached to the version minItems: 0 maxItems: 1001 anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 2 maxItems: 2 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: array items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ enum: - [] createdAt: description: Creation date oneOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object created: description: User who created the version minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ updatedAt: description: Date when version was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object - type: object required: - capabilities properties: workloadProperties: description: Codesys specific properties anyOf: - type: array minItems: 0 maxItems: 0 - type: object minProperties: 0 maxProperties: 0 capabilities: type: array description: List of capabilities assigned to the workload version minItems: 1 maxItems: 1 items: type: object minProperties: 2 required: - name - _id properties: description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: type: string description: Name of the capability enum: - CODESYS PLC _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of defined remote connections items: anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 selectors: type: array description: List of labels or ids assigned to the workload version minItems: 0 maxItems: 1001 items: anyOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false firstVolumeAsConfigurationStorage: type: boolean description: Flag indicating whether the first mapped volume is used as configuration storage default: false dockerFileOption: description: Option indicating if file is uploaded or docker image from registry is used. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ dockerFilePath: description: Name of the docker image. Exists only for docker workloads. type: string minLength: 0 maxLength: 0 pattern: ^$ example: name: workload type: docker deleted: true disabled: true _id: 63289b62a66707202114986d '400': description: Workload version is released and can not be deleted content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_invalid_object_data_err: value: errorCode: nerve_workload_156 httpCode: '400' message: Cannot delete released version. wl_version_delete_err: value: errorCode: nerve_workload_248 httpCode: '400' message: Export version is in progress, deletion of WL or Version is not possible. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when workload version with provided version ID does not exist in the DB content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '422': description: Action is not supported for docker-compose workloads. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_invalid_object_data_err: value: errorCode: nerve_workload_208 httpCode: '400' message: Action is not supported for provided workload type. This route is not available for docker-compose workload type. Please use V3 routes for actions related to the docker-compose workloads. /nerve/v3/workloads: post: summary: Create workload operationId: create_workload_v3 tags: - WORKLOAD_v3 description: Used to create a new workload requestBody: description: Defines workload object required: true content: application/json: schema: type: object description: An object containing all the information required to create a new workload required: - name - type additionalProperties: false properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker-compose - docker description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ disabled: description: Indicates if workload can be used in deployment or no type: boolean internalDockerRegistry: description: Is workload using internal Docker Registry as an docker image source type: boolean x-permissions: - WORKLOAD:CREATE responses: '200': description: Workload successfully created content: application/json: schema: description: workload basic info created with v3 routes type: object required: - name - type - created - lastChange - disabled - _id additionalProperties: false properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose lastChange: description: Information about last change of workload general data type: object required: - date additionalProperties: false properties: date: type: string format: date-time description: Creation date minLength: 8 maxLength: 30 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Users first and last name minLength: 1 maxLength: 1000 created: description: Information about workload creation type: object required: - date additionalProperties: false properties: date: type: string format: date-time description: Creation date minLength: 8 maxLength: 30 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Users first and last name minLength: 1 maxLength: 1000 _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ internalDockerRegistry: description: Is workload using internal Docker Registry as an docker image source type: boolean example: _id: 5f7b1b3b7b3b7b3b7b3b7b3b name: test-workload type: docker created: date: '2022-07-01T13:59:57.212Z' user: Demo Nerve lastChange: date: '2022-06-16T10:37:57.622Z' user: Demo Nerve description: test workload disabled: false internalDockerRegistry: true '400': description: Docker workload that is not using internal registry can not be created using V3 API content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_workload_236 message: Regular Docker workloads that are not using internal registry can not be created using V3 API route. Please use V2 API route for creating Docker workloads that are not using internal registry. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '409': description: Workload with this name already exists content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000702' httpCode: '409' message: Workload with this name already exists '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. get: summary: Get list of all workloads operationId: get_workloads_filtered_v3 tags: - WORKLOAD_v3 description: This method is called to fetch all workloads from database parameters: - name: fName in: query description: Apply filtering by workload name, enter name or part of the name allowReserved: true schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Apply filtering by workload name, enter name or part of the name minLength: 0 maxLength: 1000 - name: fDisabled in: query description: Apply filtering by workload disabled property, enter true of false allowReserved: true schema: type: boolean description: Filter the list by disabled property - name: fType in: query description: Apply filtering by workload type (docker, vm, codesys, docker-compose) allowReserved: true schema: description: Workload type type: string enum: - docker - vm - codesys - docker-compose - name: limit in: query description: Number of items per page of result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: page in: query description: Page of results to be returned, according to number of items per page defined in limit parameter. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: orderBy in: query description: Order by workload name or created time allowReserved: true schema: type: string description: Order by workload name or created time enum: - name - created - name: sortOrder in: query description: Order by workload created field (desc or asc) allowReserved: true schema: type: string enum: - desc - asc x-permissions: - WORKLOAD:LIST responses: '200': description: List of workloads that match the criteria content: application/json: schema: description: Response of get workloads filtered list type: object required: - count - data properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: description: List of workloads that match the search criteria type: array minItems: 0 maxItems: 1001 items: description: workload basic info created with v3 routes type: object required: - name - type - created - lastChange - disabled - _id additionalProperties: false properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose lastChange: description: Information about last change of workload general data type: object required: - date additionalProperties: false properties: date: type: string format: date-time description: Creation date minLength: 8 maxLength: 30 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Users first and last name minLength: 1 maxLength: 1000 created: description: Information about workload creation type: object required: - date additionalProperties: false properties: date: type: string format: date-time description: Creation date minLength: 8 maxLength: 30 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Users first and last name minLength: 1 maxLength: 1000 _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ internalDockerRegistry: description: Is workload using internal Docker Registry as an docker image source type: boolean example: count: 1 data: - name: workload type: docker created: date: '2025-11-14T13:03:29.300Z' user: Demo Nerve lastChange: date: '2025-11-14T13:03:29.300Z' user: Demo Nerve disabled: true _id: 630320c1fc6ed10038ff8f21 '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. /nerve/v3/workloads/{workloadId}: get: summary: Get data of workload selected by ID operationId: get_specific_workload_v3 tags: - WORKLOAD_v3 description: Method is used to retrieve one specific workload by id parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '200': description: successful operation content: application/json: schema: description: workload basic info created with v3 routes type: object required: - name - type - created - lastChange - disabled - _id additionalProperties: false properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose lastChange: description: Information about last change of workload general data type: object required: - date additionalProperties: false properties: date: type: string format: date-time description: Creation date minLength: 8 maxLength: 30 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Users first and last name minLength: 1 maxLength: 1000 created: description: Information about workload creation type: object required: - date additionalProperties: false properties: date: type: string format: date-time description: Creation date minLength: 8 maxLength: 30 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Users first and last name minLength: 1 maxLength: 1000 _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ internalDockerRegistry: description: Is workload using internal Docker Registry as an docker image source type: boolean example: name: workload type: docker created: date: '2025-11-14T16:11:34.219Z' user: Demo Nerve lastChange: date: '2025-11-14T16:11:34.219Z' disabled: true _id: 62befe27d82c98006ed99cbe '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. patch: summary: Update data of workload selected by ID operationId: update_workload_general_data_v3 tags: - WORKLOAD_v3 description: This method is used to update general workload data (name, description) parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: required: true content: application/json: schema: type: object description: Request body for updating a workload minProperties: 1 additionalProperties: false properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ disabled: description: Indicates if workload can be used in deployment or no type: boolean x-permissions: - WORKLOAD:EDIT responses: '200': description: successful operation content: application/json: schema: description: workload basic info created with v3 routes type: object required: - name - type - created - lastChange - disabled - _id additionalProperties: false properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose lastChange: description: Information about last change of workload general data type: object required: - date additionalProperties: false properties: date: type: string format: date-time description: Creation date minLength: 8 maxLength: 30 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Users first and last name minLength: 1 maxLength: 1000 created: description: Information about workload creation type: object required: - date additionalProperties: false properties: date: type: string format: date-time description: Creation date minLength: 8 maxLength: 30 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Users first and last name minLength: 1 maxLength: 1000 _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 disabled: description: Indicates if workload can be used in deployment or no type: boolean description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ internalDockerRegistry: description: Is workload using internal Docker Registry as an docker image source type: boolean example: _id: 62befe27d82c98006ed99cbe name: workload type: docker created: date: '2025-11-14T16:11:34.219Z' user: Demo Nerve lastChange: date: '2025-11-14T16:11:34.219Z' disabled: true '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '409': description: Workload with this name already exists content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000702' httpCode: '409' message: Workload with this name already exists '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. delete: summary: Delete workload selected by ID operationId: delete_workload_v3 tags: - WORKLOAD_v3 description: Used to delete specific workload by ID parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:DELETE responses: '204': description: The resource was deleted successfully '400': description: Request failed, this is the response received when try to delete workload/version when there is ongoing version export content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: wl_version_delete_err: value: errorCode: nerve_workload_248 httpCode: '400' message: Export version is in progress, deletion of WL or Version is not possible. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. /nerve/v3/workloads/compose: post: summary: Upload and validate docker-compose file operationId: v3_process_docker_compose_file tags: - DOCKER_COMPOSE_FILE description: Method is used to upload the docker-compose file in order to perform a validation against the corresponding schema. As a result, the JSON representation of the uploaded docker compose file is returned if the file is valid otherwise an error is returned. Uploaded file is not stored, it is deleted after the process is completed. requestBody: required: true content: multipart/form-data: schema: description: Schema for the request body used to upload and validate a docker-compose file additionalProperties: false type: object properties: file: type: string format: binary description: Docker-compose file to be validated. Allowed extensions are .yaml or .yml internalDockerRegistry: description: Is workload using internal Docker Registry as an docker image source type: boolean x-permissions: - WORKLOAD:EDIT responses: '200': description: Successful operation content: application/json: schema: type: object description: JSON representation of the uploaded docker-compose file required: - services properties: services: type: object minProperties: 1 description: List of services defined in the docker-compose file example: version: '3.5' services: nginx: container_name: compose_nginx image: docker-test.dev.nerve.cloud/registry/nginx:latest networks: - wan ports: - 8080:80 volumes: - nginx_config:/etc/nginx/conf.d - nginx_logs:/var/log/nginx environment: - NGINX_PORT=80 - NGINX_SSL_PORT=443 restart: always networks: wan: external: true '400': description: Request failed, this is the response received when provided file has wrong extension. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_workload_194 message: Wrong file extension, allowed extensions are .yaml or .yml '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. /nerve/v3/workloads/compose/{workloadId}/versions/{versionId}/files/{fileId}: get: summary: Get content of the selected docker-compose file as string operationId: v3_docker_compose_file_content tags: - DOCKER_COMPOSE_FILE description: Get the file content of the specified Docker Compose file as a string. To upload a Compose file, please use POST /nerve/v3/workloads/{workloadId}/versions/{versionId}/files. parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: fileId in: path required: true description: File id from workload version schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:EDIT responses: '200': description: Successful operation content: text/plain: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Name of the exported file minLength: 1 maxLength: 1000 '400': description: The request failed because the provided file is of an unsupported type. Only Docker Compose files are accepted. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_workload_203 message: File is not docker-compose file. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when specified file does not exist. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_workload_169 message: There is no file with specified file id. Please check your file id in the request API. '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. /nerve/v3/workloads/{workloadId}/versions: post: summary: Add new version of the selected workload operationId: create_version_v3 tags: - WL_VERSION_v3 description: Method is used to create a new version for provided workload parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: required: true content: application/json: schema: type: object description: An object containing all the information required to create a new workload version required: - name - workloadSpecificProperties additionalProperties: false properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean description: Indicates if the version is marked as released(if so, the version cannot be modified anymore) default: false selectors: type: array minItems: 0 maxItems: 1001 description: List of ids of selectors to be assigned to the workload version. The list should include unique items - duplicates are not allowed. uniqueItems: true items: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of remote connections defined for provided workload version items: anyOf: - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - description: Remote screen connection - type VNC allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type SSH allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type RDP allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls workloadSpecificProperties: type: object description: An object containing specific workload properties. There is a separate schema with specific properties for each workload type. examples: version: value: name: version test v3 sample workloadSpecificProperties: dockerConfigurationStorage: - volumeName: vol1 serviceName: servicename containerPath: /path/to/container selectors: - 630320c1fc6ed10038ff8f21 remoteConnections: - type: TUNNEL name: tunnel 1 acknowledgment: 'No' hostname: localhost port: 1236 localPort: 5656 x-permissions: - WORKLOAD:EDIT responses: '200': description: Workload version has been successfully created content: application/json: schema: type: object description: An object containing detailed information of the workload version(information of interest for the user) required: - _id - name - released - isDeployable - workloadSpecificProperties - hash - summarizedFileStatuses - createdAt properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean description: Indicates if the version is marked as released(if so, the version cannot be modified anymore) default: false hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ isDeployable: type: boolean description: Indicates if the version is marked as deployable(if not, the version definition is not complete and thus cannot be deployed) workloadSpecificProperties: oneOf: - type: object description: An object containing a specific properties for docker-compose workload type additionalProperties: false properties: dockerConfigurationStorage: type: array minItems: 0 maxItems: 1001 description: 'List of configuration storages defined for each service individually. NOTE:: Currently there will be only one service in the docker-compose file. In the future, there will be more.' items: type: object description: An object containing information about volumes marked to be used as configuration storage for a particular service additionalProperties: false required: - volumeName - serviceName - containerPath properties: volumeName: type: string description: 'The docker volume name. The name is extracted from docker-compose file. Volume name can only contain numbers, letters, _ and -. NOTE: For now only volume name is allowed. Bind mount points are not allowed.' pattern: ^[A-z0-9-.]*$ minLength: 1 maxLength: 1000 serviceName: type: string description: The name of the service to which the configuration refers. The service name is extracted from the docker-compose file. Service name can only contain numbers, letters,_ and -. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 restartOnConfigurationUpdate: type: boolean description: Indicates whether the docker container should be restarted on configuration update or not default: false containerPath: type: string description: The path in the container where the volume is mounted pattern: ^[A-z0-9/.-]*$ minLength: 1 maxLength: 1000 - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry selectors: type: array minItems: 0 maxItems: 1001 description: List of selectors/labels in form key-value assigned to the version. items: type: object additionalProperties: false required: - _id - key - value properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of remote connections defined for provided workload version items: anyOf: - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - description: Remote screen connection - type VNC allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type SSH allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type RDP allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls numberOfFiles: oneOf: - type: integer format: int32 minimum: 1 maximum: 1 description: For docker workloads only one file is allowed and needed (docker-image file) - type: integer format: int32 minimum: 2 maximum: 51 description: Maximum 50 services can be defined in a compose file, therefore minimum number of files is 2 and maximum 51 (1 docker-compose file and allowed number of image files) summarizedFileStatuses: type: object description: Summarized number of all file statuses required: - downloading - failed - available - cancelled - pending additionalProperties: false properties: downloading: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 failed: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 available: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 cancelled: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 pending: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 createdAt: type: string format: date-time description: Version creation date minLength: 8 maxLength: 30 updatedAt: type: string format: date-time description: Version update date minLength: 8 maxLength: 30 export: type: object description: Contains information about Version export process nullable: true additionalProperties: false required: - status properties: archiveName: type: string description: The name of the generated TAR archive minLength: 5 maxLength: 1000 pattern: ^[A-Za-z0-9_-]+\.tar$ endTime: description: Timestamp when the export was completed type: string format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 startTime: description: Timestamp when the export was initiated type: string format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 status: type: string description: "The status of the export process. The following status values are possible:\n - in-progress: The export process is currently being executed.\n - completed: The export\ \ process has finished successfully.\n - failed: The export process failed." enum: - in-progress - completed - failed additionalProperties: false examples: created_version: value: remoteConnections: - _id: 63289b62a66707202114986c type: TUNNEL name: tunnel 1 acknowledgment: 'No' hostname: localhost port: 1236 localPort: 5656 __v: 0 workloadSpecificProperties: dockerConfigurationStorage: - volumeName: vol1 restartOnConfigurationUpdate: false serviceName: servicename containerPath: /path/to/container selectors: - _id: 630320c1fc6ed10038ff8f21 key: hello value: hello hash: ac339daed7d77cf3baaaf0ba7f8ff897 numberOfFiles: 2 isDeployable: false released: false name: version test v3 sample _id: 63289b62a66707202114986d summarizedFileStatuses: downloading: 0 cancelled: 0 failed: 0 available: 2 pending: 0 createdAt: '2023-09-19T09:28:32.745+00:00' updatedAt: '2023-09-19T12:02:58.464+00:00' '400': description: Request failed, this is the response received when there are duplicate selectors in the list. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_workload_023 message: Found duplicate selectors within version '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '409': description: Request failed, this is the response received when version with provided name already exists. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '409' errorCode: '000711' message: Version with this name/release_name already exists. '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_171 message: An unexpected error occurred while performing the operation. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). get: summary: Get list of versions of the selected workload operationId: list_versions_v3 tags: - WL_VERSION_v3 description: Method is used to list all versions from database for provided workload parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '200': description: Success content: application/json: schema: type: object description: An object containing a list of workload versions and number of versions in database. - *count* - total number of versions of provided workload in database - *data* - list of version objects with basic version information additionalProperties: false required: - count - data properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: type: array minItems: 0 maxItems: 1001 description: A list of all versions for provided workload items: type: object description: An object containing basic information of the workload version(information of interest for the user) required: - _id - name - released - isDeployable - hash - summarizedFileStatuses - createdAt - numberOfServices additionalProperties: false properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean description: Indicates if the version is marked as released(if so, the version cannot be modified anymore) default: false hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ isDeployable: type: boolean description: Indicates if the version is marked as deployable(if not, the version definition is not complete and thus cannot be deployed) numberOfFiles: oneOf: - type: integer format: int32 minimum: 1 maximum: 1 description: For docker workloads only one file is allowed and needed (docker-image file) - type: integer format: int32 minimum: 2 maximum: 51 description: Maximum 50 services can be defined in a compose file, therefore minimum number of files is 2 and maximum 51 (1 docker-compose file and allowed number of image files) summarizedFileStatuses: type: object description: Summarized number of all file statuses required: - downloading - failed - available - cancelled - pending additionalProperties: false properties: downloading: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 failed: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 available: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 cancelled: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 pending: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 createdAt: type: string format: date-time description: Version creation date minLength: 8 maxLength: 30 numberOfServices: type: integer format: int32 description: Number of services defined in the docker-compose file default: 0 minimum: 0 maximum: 50 export: type: object description: Contains information about Version export process nullable: true additionalProperties: false required: - status properties: archiveName: type: string description: The name of the generated TAR archive minLength: 5 maxLength: 1000 pattern: ^[A-Za-z0-9_-]+\.tar$ endTime: description: Timestamp when the export was completed type: string format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 startTime: description: Timestamp when the export was initiated type: string format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 status: type: string description: "The status of the export process. The following status values are possible:\n - in-progress: The export process is currently being executed.\n - completed:\ \ The export process has finished successfully.\n - failed: The export process failed." enum: - in-progress - completed - failed example: count: 1 data: - _id: 630320c1fc6ed10038ff8f21 hash: ac339daed7d77cf3baaaf0ba7f8ff897 numberOfFiles: 2 isDeployable: false released: false name: version test v3 sample summarizedFileStatuses: downloading: 0 cancelled: 0 failed: 0 available: 2 pending: 0 createdAt: '2023-09-19T09:28:32.745+00:00' numberOfServices: 2 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_171 message: An unexpected error occurred while performing the operation. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). /nerve/v3/workloads/{workloadId}/versions/{versionId}: delete: summary: Delete version of the selected workload operationId: delete_version_v3 tags: - WL_VERSION_v3 description: Method is used to delete the specific version of the provided workload parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VERSION_DELETE responses: '204': description: Successful operation '400': description: Workload version is released and can not be deleted content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_invalid_object_data_err: value: errorCode: nerve_workload_156 httpCode: '400' message: Cannot delete released version. wl_version_delete_err: value: errorCode: nerve_workload_248 httpCode: '400' message: Export version is in progress, deletion of WL or Version is not possible. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when workload version with provided version ID does not exist in the DB content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_171 message: An unexpected error occurred while performing the operation. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). get: summary: Get version data of the selected workload operationId: get_version_v3 tags: - WL_VERSION_v3 description: Method is used to retrieve the data of the specific workload version parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '200': description: Successful operation content: application/json: schema: type: object description: An object containing detailed information of the workload version(information of interest for the user) required: - _id - name - released - isDeployable - workloadSpecificProperties - hash - summarizedFileStatuses - createdAt properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean description: Indicates if the version is marked as released(if so, the version cannot be modified anymore) default: false hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ isDeployable: type: boolean description: Indicates if the version is marked as deployable(if not, the version definition is not complete and thus cannot be deployed) workloadSpecificProperties: oneOf: - type: object description: An object containing a specific properties for docker-compose workload type additionalProperties: false properties: dockerConfigurationStorage: type: array minItems: 0 maxItems: 1001 description: 'List of configuration storages defined for each service individually. NOTE:: Currently there will be only one service in the docker-compose file. In the future, there will be more.' items: type: object description: An object containing information about volumes marked to be used as configuration storage for a particular service additionalProperties: false required: - volumeName - serviceName - containerPath properties: volumeName: type: string description: 'The docker volume name. The name is extracted from docker-compose file. Volume name can only contain numbers, letters, _ and -. NOTE: For now only volume name is allowed. Bind mount points are not allowed.' pattern: ^[A-z0-9-.]*$ minLength: 1 maxLength: 1000 serviceName: type: string description: The name of the service to which the configuration refers. The service name is extracted from the docker-compose file. Service name can only contain numbers, letters,_ and -. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 restartOnConfigurationUpdate: type: boolean description: Indicates whether the docker container should be restarted on configuration update or not default: false containerPath: type: string description: The path in the container where the volume is mounted pattern: ^[A-z0-9/.-]*$ minLength: 1 maxLength: 1000 - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry selectors: type: array minItems: 0 maxItems: 1001 description: List of selectors/labels in form key-value assigned to the version. items: type: object additionalProperties: false required: - _id - key - value properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of remote connections defined for provided workload version items: anyOf: - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - description: Remote screen connection - type VNC allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type SSH allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type RDP allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls numberOfFiles: oneOf: - type: integer format: int32 minimum: 1 maximum: 1 description: For docker workloads only one file is allowed and needed (docker-image file) - type: integer format: int32 minimum: 2 maximum: 51 description: Maximum 50 services can be defined in a compose file, therefore minimum number of files is 2 and maximum 51 (1 docker-compose file and allowed number of image files) summarizedFileStatuses: type: object description: Summarized number of all file statuses required: - downloading - failed - available - cancelled - pending additionalProperties: false properties: downloading: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 failed: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 available: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 cancelled: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 pending: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 createdAt: type: string format: date-time description: Version creation date minLength: 8 maxLength: 30 updatedAt: type: string format: date-time description: Version update date minLength: 8 maxLength: 30 export: type: object description: Contains information about Version export process nullable: true additionalProperties: false required: - status properties: archiveName: type: string description: The name of the generated TAR archive minLength: 5 maxLength: 1000 pattern: ^[A-Za-z0-9_-]+\.tar$ endTime: description: Timestamp when the export was completed type: string format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 startTime: description: Timestamp when the export was initiated type: string format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 status: type: string description: "The status of the export process. The following status values are possible:\n - in-progress: The export process is currently being executed.\n - completed: The export\ \ process has finished successfully.\n - failed: The export process failed." enum: - in-progress - completed - failed additionalProperties: false examples: version: value: remoteConnections: - _id: 63289b62a66707202114986c type: TUNNEL name: tunnel 1 acknowledgment: 'No' hostname: localhost port: 1236 localPort: 5656 __v: 0 workloadSpecificProperties: dockerConfigurationStorage: - volumeName: vol1 restartOnConfigurationUpdate: false serviceName: servicename containerPath: /path/to/container selectors: - _id: 630320c1fc6ed10038ff8f21 key: hello value: hello hash: ac339daed7d77cf3baaaf0ba7f8ff897 numberOfFiles: 2 isDeployable: false released: false name: version test v3 sample _id: 63289b62a66707202114986d summarizedFileStatuses: downloading: 0 cancelled: 0 failed: 0 available: 2 pending: 0 createdAt: '2023-09-19T09:28:32.745+00:00' updatedAt: '2023-09-19T12:02:58.464+00:00' '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when workload version with provided version ID does not exist in the DB content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_171 message: An unexpected error occurred while performing the operation. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). patch: summary: Update version data of the selected workload operationId: edit_version_v3 tags: - WL_VERSION_v3 description: Method is used to update data of the specific workload version parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: required: true content: application/json: schema: type: object description: An object containing all the information required to update an existing workload version required: - workloadSpecificProperties - remoteConnections additionalProperties: false properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean description: Indicates if the version is marked as released(if so, the version cannot be modified anymore) default: false selectors: type: array minItems: 0 maxItems: 1001 description: List of ids of selectors to be assigned to the workload version. The list should include unique items - duplicates are not allowed. uniqueItems: true items: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of remote connections defined for provided workload version items: anyOf: - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - description: Remote screen connection - type VNC allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type SSH allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type RDP allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls workloadSpecificProperties: type: object description: An object containing specific workload properties. There is a separate schema with specific properties for each workload type. examples: version: value: name: version test v3 sample workloadSpecificProperties: dockerConfigurationStorage: - volumeName: vol1 serviceName: servicename containerPath: /path/to/container selectors: - 630320c1fc6ed10038ff8f21 remoteConnections: - type: TUNNEL name: tunnel 1 acknowledgment: 'No' hostname: localhost port: 1236 localPort: 5656 x-permissions: - WORKLOAD:EDIT responses: '200': description: Successful operation content: application/json: schema: type: object description: An object containing detailed information of the workload version(information of interest for the user) required: - _id - name - released - isDeployable - workloadSpecificProperties - hash - summarizedFileStatuses - createdAt properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean description: Indicates if the version is marked as released(if so, the version cannot be modified anymore) default: false hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ isDeployable: type: boolean description: Indicates if the version is marked as deployable(if not, the version definition is not complete and thus cannot be deployed) workloadSpecificProperties: oneOf: - type: object description: An object containing a specific properties for docker-compose workload type additionalProperties: false properties: dockerConfigurationStorage: type: array minItems: 0 maxItems: 1001 description: 'List of configuration storages defined for each service individually. NOTE:: Currently there will be only one service in the docker-compose file. In the future, there will be more.' items: type: object description: An object containing information about volumes marked to be used as configuration storage for a particular service additionalProperties: false required: - volumeName - serviceName - containerPath properties: volumeName: type: string description: 'The docker volume name. The name is extracted from docker-compose file. Volume name can only contain numbers, letters, _ and -. NOTE: For now only volume name is allowed. Bind mount points are not allowed.' pattern: ^[A-z0-9-.]*$ minLength: 1 maxLength: 1000 serviceName: type: string description: The name of the service to which the configuration refers. The service name is extracted from the docker-compose file. Service name can only contain numbers, letters,_ and -. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 restartOnConfigurationUpdate: type: boolean description: Indicates whether the docker container should be restarted on configuration update or not default: false containerPath: type: string description: The path in the container where the volume is mounted pattern: ^[A-z0-9/.-]*$ minLength: 1 maxLength: 1000 - description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry selectors: type: array minItems: 0 maxItems: 1001 description: List of selectors/labels in form key-value assigned to the version. items: type: object additionalProperties: false required: - _id - key - value properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ remoteConnections: type: array minItems: 0 maxItems: 1001 description: List of remote connections defined for provided workload version items: anyOf: - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - description: Remote screen connection - type VNC allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type SSH allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type RDP allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls numberOfFiles: oneOf: - type: integer format: int32 minimum: 1 maximum: 1 description: For docker workloads only one file is allowed and needed (docker-image file) - type: integer format: int32 minimum: 2 maximum: 51 description: Maximum 50 services can be defined in a compose file, therefore minimum number of files is 2 and maximum 51 (1 docker-compose file and allowed number of image files) summarizedFileStatuses: type: object description: Summarized number of all file statuses required: - downloading - failed - available - cancelled - pending additionalProperties: false properties: downloading: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 failed: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 available: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 cancelled: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 pending: type: integer format: int32 description: Summarized number of file statuses default: 0 minimum: 0 maximum: 51 createdAt: type: string format: date-time description: Version creation date minLength: 8 maxLength: 30 updatedAt: type: string format: date-time description: Version update date minLength: 8 maxLength: 30 export: type: object description: Contains information about Version export process nullable: true additionalProperties: false required: - status properties: archiveName: type: string description: The name of the generated TAR archive minLength: 5 maxLength: 1000 pattern: ^[A-Za-z0-9_-]+\.tar$ endTime: description: Timestamp when the export was completed type: string format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 startTime: description: Timestamp when the export was initiated type: string format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 status: type: string description: "The status of the export process. The following status values are possible:\n - in-progress: The export process is currently being executed.\n - completed: The export\ \ process has finished successfully.\n - failed: The export process failed." enum: - in-progress - completed - failed additionalProperties: false examples: version: value: remoteConnections: - _id: 63289b62a66707202114986c type: TUNNEL name: tunnel 1 acknowledgment: 'No' hostname: localhost port: 1236 localPort: 5656 __v: 0 workloadSpecificProperties: dockerConfigurationStorage: - volumeName: vol1 restartOnConfigurationUpdate: false serviceName: servicename containerPath: /path/to/container selectors: - _id: 630320c1fc6ed10038ff8f21 key: hello value: hello hash: ac339daed7d77cf3baaaf0ba7f8ff897 numberOfFiles: 2 isDeployable: false released: false name: version test v3 sample _id: 63289b62a66707202114986d summarizedFileStatuses: downloading: 0 cancelled: 0 failed: 0 available: 2 pending: 0 createdAt: '2023-09-19T09:28:32.745+00:00' updatedAt: '2023-09-19T12:02:58.464+00:00' '400': description: Request failed, this is the response received when there are duplicate selectors in the list. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_workload_023 message: Found duplicate selectors within version '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when workload version with provided version ID does not exist in the DB content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '409': description: Request failed, this is the response received when version with provided name already exists. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '409' errorCode: '000711' message: Version with this name/release_name already exists. '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_171 message: An unexpected error occurred while performing the operation. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). /nerve/v3/workloads/{workloadId}/versions/{versionId}/export-init: post: summary: Initiates the export of a workload version that uses MS Registry as a storage operationId: init_export_version_v3 tags: - WL_VERSION_v3 description: This API endpoint initiates the export of a workload version that uses Management System Registry to store Docker images. It is applicable only for Docker and Docker Compose workload types. parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '202': description: The export process has been initiated. content: application/json: schema: type: object description: The object containing the name of the generated TAR archive. required: - archive properties: archive: type: string description: The name of the generated TAR archive minLength: 5 maxLength: 1000 pattern: ^[A-Za-z0-9_-]+\.tar$ example: archive: composeregistry_version_1733126077329.tar '400': description: Request failed, this is the response received when workload version is not deployable and thus cannot be exported. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_workload_239 httpCode: '400' message: Due to the non-deployability of the version, exporting is not possible. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload or Version does not exist. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: wl_version_not_found: value: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist. '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_171 message: An unexpected error occurred while performing the operation. /nerve/v3/workloads/{workloadId}/versions/{versionId}/export-status: get: summary: Gets the export status of workload version using MS Registry as storage operationId: status_export_version_v3 tags: - WL_VERSION_v3 description: "This API endpoint returns the status of the export process for workload version using the Management System Registry as a storage for Docker images. The possible status values are:\n\ \ - in-progress: The export process is currently being executed.\n - completed: The export process has finished successfully.\n - failed: The export process failed." parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '200': description: The status of the export process. content: application/json: schema: type: object description: The object containing the status of the export process for workload version. required: - status properties: status: type: string description: "The status of the export process. The following status values are possible:\n - in-progress: The export process is currently being executed.\n - completed: The export\ \ process has finished successfully.\n - failed: The export process failed." enum: - in-progress - completed - failed example: status: completed '400': description: "The request failed. This response is returned when one of the following conditions is met:\n - An incorrect workload type was provided\n - The workload does not use the MS Registry\n\ \ - The version is invalid due to missing files" content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_workload_240 httpCode: '400' message: The provided workload does not use the Management System Registry for storage. Exporting is not possible. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload or Version does not exist. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: wl_version_not_found: value: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist. /nerve/v3/workloads/{workloadId}/versions/{versionId}/files: post: summary: Add file to the selected workload version operationId: add_file_v3 tags: - WL_VERSION_FILE description: Add a file to workload version parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: description: File information. For details on the submission form fields please refer to the schema **v3_add_edit_file** at the end of the file. required: true content: multipart/form-data: schema: description: Schema for uploading and validating a docker-compose file additionalProperties: false type: object properties: type: description: Type of workload file being submitted type: string enum: - compose - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: If source requires authentication, it is password to be used minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ file: type: string description: File to be uploaded format: binary minLength: 1 maxLength: 1000 x-permissions: - WORKLOAD:EDIT responses: '200': description: successful operation content: application/json: schema: allOf: - description: File information type: object required: - type - origin - source properties: type: description: Type of workload file being submitted type: string enum: - compose - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - _id - status properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: description: File download status type: string enum: - downloading - available - failed - cancelled - pending lastError: description: Error that occurred when fetching file. Only set in case when 'status' is set to 'failed' type: string minLength: 0 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ example: _id: 62befe27d82c98006ed99cbe status: downloading type: docker-image origin: docker-repo source: nginx:latest '400': description: Expected file to be uploaded with file data, missing binary file in API request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: file_missing_in_request: value: errorCode: nerve_workload_177 httpCode: '400' message: Failed to add/edit file to workload version. File not uploaded. Please check that file is not missing in your API request. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: 'Request failed, this is the response received when: - Specified workload does not exist - Specified version does not exist' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_not_found: value: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). get: summary: Get list of files for the selected version of the selected workload operationId: get_files_v3 tags: - WL_VERSION_FILE description: Fetch information about all files from specific workload version parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '200': description: List of files for specific workload version content: application/json: schema: description: Response for get all files request type: object required: - count - files properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results files: description: List of files type: array minItems: 0 maxItems: 51 items: allOf: - description: File information type: object required: - type - origin - source properties: type: description: Type of workload file being submitted type: string enum: - compose - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - _id - status properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: description: File download status type: string enum: - downloading - available - failed - cancelled - pending lastError: description: Error that occurred when fetching file. Only set in case when 'status' is set to 'failed' type: string minLength: 0 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ example: count: 1 files: - _id: 62befe27d82c98006ed99cbe status: downloading type: compose origin: docker-repo source: nginx:latest '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: 'Request failed, this is the response received when: - Specified workload does not exist - Specified version does not exist' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_not_found: value: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). /nerve/v3/workloads/{workloadId}/versions/{versionId}/files/{fileId}: get: summary: Get information of the selected file operationId: get_file_v3 tags: - WL_VERSION_FILE description: Used to get information about specific file parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: fileId in: path required: true description: File id from workload version schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '200': description: successful operation content: application/json: schema: allOf: - description: File information type: object required: - type - origin - source properties: type: description: Type of workload file being submitted type: string enum: - compose - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - _id - status properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: description: File download status type: string enum: - downloading - available - failed - cancelled - pending lastError: description: Error that occurred when fetching file. Only set in case when 'status' is set to 'failed' type: string minLength: 0 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ example: _id: 62befe27d82c98006ed99cbe status: downloading type: docker-image origin: docker-repo source: nginx:latest '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: 'Request failed, this is the response received when: - Specified workload does not exist - Specified version does not exist - There are no any files defined for specific workload version. File list empty - Specified file does not exist' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: version_not_found: value: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). patch: summary: Edit the selected file operationId: edit_file_v3 tags: - WL_VERSION_FILE description: Edit file parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: fileId in: path required: true description: File id from workload version schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: description: File information. For details on the submission form fields please refer to the schema **v3_add_edit_file** at the end of the file. required: true content: multipart/form-data: schema: additionalProperties: false type: object description: An object containing all the information required to edit a file properties: type: description: Type of workload file being submitted type: string enum: - compose - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: If source requires authentication, it is password to be used minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ file: type: string format: binary description: File to be uploaded minLength: 1 maxLength: 1000 x-permissions: - WORKLOAD:EDIT responses: '200': description: successful operation content: application/json: schema: allOf: - description: File information type: object required: - type - origin - source properties: type: description: Type of workload file being submitted type: string enum: - compose - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - _id - status properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: description: File download status type: string enum: - downloading - available - failed - cancelled - pending lastError: description: Error that occurred when fetching file. Only set in case when 'status' is set to 'failed' type: string minLength: 0 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ example: _id: 62befe27d82c98006ed99cbe status: downloading type: docker-image origin: docker-repo source: nginx:latest '400': description: 'Request failed, this is the response received when: - Failed to add/edit file. Value of ''type'' field in the API request needs to be ''compose'' or ''docker-image'' - Failed to add/edit file. Not supported file MIME type. For compose workload supported MIME types are : ''application/x-yaml'', ''text/yaml'', ''application/x-tar'', ''application/gzip'' - Failed to edit file. Edit file is not possible when file is in ''downloading'' status.' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: version_not_found: value: errorCode: nerve_workload_181 httpCode: '400' message: Failed to add/edit file to workload version. Value of 'type' field in the API request needs to be 'compose' or 'docker-image'. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: 'Request failed, this is the response received when: - Specified workload does not exist - Specified version does not exist - There are no any files defined for specific workload version. File list empty - Specified file does not exist' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: version_not_found: value: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). delete: summary: Delete the selected file operationId: delete_file_v3 tags: - WL_VERSION_FILE description: Used to delete file by ID parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: fileId in: path required: true description: File id from workload version schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:EDIT responses: '204': description: The resource was deleted successfully '400': description: Workload version is released, delete file actions are not possible content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: version_not_found: value: errorCode: nerve_workload_170 httpCode: '400' message: Workload version is marked as released, requested action is not possible. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: 'Request failed, this is the response received when: - Specified workload does not exist - Specified version does not exist - There are no any files defined for specific workload version. File list empty - Specified file does not exist' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: version_not_found: value: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). /nerve/v3/workloads/{workloadId}/versions/{versionId}/files/{fileId}/cancel: patch: summary: Cancel download of the selected file operationId: cancel_file_v3 tags: - WL_VERSION_FILE description: Cancel ongoing file download parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: fileId in: path required: true description: File id from workload version schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:EDIT responses: '204': description: successful operation '400': description: File download cancel not possible, file is not in downloading status content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: version_not_found: value: httpCode: '400' errorCode: nerve_workload_185 message: Failed to cancel file download. File is not in downloading status, cancel action is not possible. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: 'Request failed, this is the response received when: - Specified workload does not exist - Specified version does not exist - There are no any files defined for specific workload version. File list empty - Specified file does not exist' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: version_not_found: value: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). /nerve/v3/workloads/{workloadId}/versions/{versionId}/files/cancel: patch: summary: Cancel all file downloads in-progress operationId: cancel_all_files_v3 tags: - WL_VERSION_FILE description: Cancel all ongoing file downloads parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:EDIT responses: '204': description: successful operation '400': description: All files download cancel not possible. There are no files in downloading status content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: version_not_found: value: httpCode: '400' errorCode: nerve_workload_186 message: Failed to cancel all file downloads. There are no files in downloading status. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: 'Request failed, this is the response received when: - Specified workload does not exist - Specified version does not exist' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_not_found: value: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). /nerve/v3/workloads/{workloadId}/versions/{versionId}/unique-info: get: summary: Get data which identify the selected workload operationId: get_specific_version_info_v3 tags: - WL_VERSION_v3 description: Method is used to return information that uniquely identifies workload version parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:CREATE responses: '200': description: Return object that contains information that uniquely identifies workload version content: application/json: schema: type: object description: An object containing all the information required to identify a specific workload version additionalProperties: false required: - name - version - hash properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) version: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) hash: description: Hash of the version structure that changes with every change in version files or properties default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: name: Docker version: Nginx hash: 4eec45d1c100cb0974b952877e3e09fd '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with specific ID does not exist in the db content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_171 message: An unexpected error occurred while performing the operation. /nerve/v3/workloads/{workloadId}/versions/{versionId}/define-all-files: post: summary: Define all files for specified workload version operationId: define_all_files_v3 tags: - WL_VERSION_FILE description: Define all files to workload version parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: description: File information. required: true content: application/json: schema: type: object description: An object containing all the information required to define all files for a specific workload version required: - files additionalProperties: false properties: files: type: array description: List of files to be defined minItems: 1 maxItems: 50 items: type: object required: - type - origin - source additionalProperties: false properties: type: description: Type of workload file being defined type: string enum: - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: If source requires authentication, it is password to be used minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: files: - type: docker-image origin: docker-repo source: nginx:latest username: username password: password x-permissions: - WORKLOAD:EDIT responses: '200': description: List of files for specific workload version content: application/json: schema: description: Response for get all files request type: object required: - count - files properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results files: description: List of files type: array minItems: 0 maxItems: 51 items: allOf: - description: File information type: object required: - type - origin - source properties: type: description: Type of workload file being submitted type: string enum: - compose - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - _id - status properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: description: File download status type: string enum: - downloading - available - failed - cancelled - pending lastError: description: Error that occurred when fetching file. Only set in case when 'status' is set to 'failed' type: string minLength: 0 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ example: count: 1 files: - _id: 62befe27d82c98006ed99cbe status: downloading type: compose origin: docker-repo source: nginx:latest '400': description: 'Request failed, this is the response received when: - Compose file not added. Compose file needs to exist before list of needed files is defined - Provided list of files has duplicated docker images - Provided list of files does not match uploaded compose file. All different docker images from compose file needs to be defined in the files list' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: 'Request failed, this is the response received when: - Specified workload does not exist - Specified version does not exist' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_not_found: value: errorCode: '000700' httpCode: '404' message: Workload you are looking for does not exist '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_166 message: Failed to finalize request, unexpected error occurred. '501': description: Request failed, this is the response received when the action cannot be performed due to a missing implementation in the V3 API version for the type of workload provided content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '501' errorCode: nerve_workload_167 message: Action is not supported for provided workload type. The V3 API for workloads/versions/files is available only for docker-compose workload type(other workload types are not supported yet). /nerve/v3/workloads/{workload_id}/versions/{version_id}/import-remote-connections: put: summary: Import remote connections on selected node operationId: import_rc_on_wl tags: - WL_VERSION_v3 description: Method is used to import remote connections on selected workload version. parameters: - name: workload_id in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: version_id in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: required: true content: multipart/form-data: schema: description: Request body for uploading a file containing remote connections to be imported additionalProperties: false type: object properties: file: type: string description: File containing remote connections to be imported. Allowed file extensions are .yaml or .yml format: binary minLength: 1 maxLength: 1000 example: file: example-file-content x-permissions: - WORKLOAD:EDIT responses: '200': description: List of imported remote connections content: application/json: schema: description: List of imported remote connections type: array minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - description: Remote screen connection - type VNC allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - VNC - description: Remote screen connection - type SSH allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ - description: Remote screen connection - type RDP allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ ignoreServerCertificate: description: Indicates whether the server certificate for the RDP connection should be ignored type: boolean default: false securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls '400': description: Request failed, this is the response received when provided file has wrong extension. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' message: Wrong file extension, allowed extensions are .yaml or .yml '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when workload version with provided version ID does not exist in the DB content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000703' httpCode: '404' message: Workload version you are looking for does not exist '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/v3/workloads/{workload_id}/versions/{version_id}/export-remote-connections: get: summary: Export remote connections operationId: export_rc_on_wl security: - cookieAuth: [] tags: - WL_VERSION_v3 description: Method is used to export remote connection on workload version. parameters: - name: workload_id in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: version_id in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:VIEW responses: '200': description: Success content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ format: binary minLength: 1 maxLength: 1000 description: Binary data of the exported remote connections headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 example: attachment; filename=file_name.tar description: Exported file name '400': description: Request failed, this is the response received when workload version is not deployable and thus cannot be exported content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ '401': description: Request failed, this is the response received when the cookie is missing in the header. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when workload version with provided version ID does not exist in the DB content: text/html: schema: minLength: 1 maxLength: 1000 description: Error message when trying to export workload version files example: 'Error happened when trying to export workload version files: Workload you are looking for does not exist' type: string pattern: ^[\x20-\x7E\t\n\r]*$ '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_workload_171 message: An unexpected error occurred while performing the operation. /nerve/registry/images: post: summary: List images description: List all images available on the nerve registry operationId: nerve_registry_image_list tags: - NERVE_DOCKER_REGISTRY requestBody: description: '[GET with body payload] - Information about the image name, limit, and last image name (for pagination) is sent in the body of the POST request to avoid exceeding URL parameter limits in a GET request. The limit defines the maximum number of results to return, while the last parameter is used for pagination, indicating the last image name from the previous response to fetch the next set of results.' required: false content: application/json: schema: type: object additionalProperties: false description: Object containing the limit and last image name used as pagination query params on the registry API properties: limit: type: integer format: int32 description: Limit the number of results minimum: 1 maximum: 1000 example: 10 last: type: string description: Last result from which all other results will be fetched, Image name when fetching catalog or tag name when fetching tags minLength: 1 maxLength: 255 pattern: ^.*$ x-permissions: - REGISTRY:PULL responses: '200': description: A list of images content: application/json: schema: type: object description: Object containing a list of docker images required: - images properties: images: type: array description: A list of docker images minItems: 0 maxItems: 10000 items: type: string description: Docker image name and tag minLength: 1 maxLength: 384 pattern: ^(?=.{1,255}(?::|$))[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?$ example: images: - registry/alpine - registry/ubuntu - registry/centos '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_docker_registry_001 message: Failed to finalize request, unexpected error occurred. /nerve/registry/image-tags: post: summary: List tags for a specific image description: List all tags available for a specific image on the nerve registry operationId: nerve_registry_image_tags tags: - NERVE_DOCKER_REGISTRY requestBody: description: '[GET with body payload] - Information about the image name, limit, and last image name (for pagination) is sent in the body of the POST request to avoid exceeding URL parameter limits in a GET request. The limit defines the maximum number of results to return, while the last parameter is used for pagination, indicating the last image name from the previous response to fetch the next set of results.' required: true content: application/json: schema: type: object additionalProperties: false description: Object containing image name for which tags will be fetched, also limit and last image name used as pagination query params on the registry API required: - image properties: image: type: string description: Docker image name minLength: 1 maxLength: 255 pattern: ^(?:[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*)$ limit: type: integer format: int32 description: Limit the number of results minimum: 1 maximum: 1000 example: 10 last: type: string description: Last result from which all other results will be fetched, Image name when fetching catalog or tag name when fetching tags minLength: 1 maxLength: 255 pattern: ^.*$ x-permissions: - REGISTRY:PULL responses: '200': description: A list of image tags content: application/json: schema: type: object description: Object containing a list of tags for a specific docker image required: - tags properties: tags: type: array description: A list of tags and their digest value for a specific docker image minItems: 0 maxItems: 100 items: type: object additionalProperties: false description: Object containing docker image tag and its digest value required: - tag - digest - usedByReleasedVersion properties: tag: type: string description: A docker image tag minLength: 1 maxLength: 128 pattern: ^[a-zA-Z0-9\.\-_]+$ digest: type: string minLength: 71 maxLength: 71 description: 'A Docker image digest is a SHA-256 hash of the image manifest in the format `sha256:`. ' pattern: ^sha256:[a-f0-9]{64}$ usedByReleasedVersion: type: boolean description: 'Indicates whether the image is used by a released workload. ' example: tags: - tag: latest digest: sha256:4d5e6a98c0b60c8b9af8e937a739cd818eb9249d34f1e4b4ac7e8b0c4a883f67 usedByReleasedVersion: false - tag: '1.0' digest: sha256:4cdb6012a4a871330a7122659a8d40e6e69abadb9a1d4c3fdabf5481cda312c2 usedByReleasedVersion: false - tag: '1.1' digest: sha256:9f1619aaee18137aa1ac1554467e922b16297043eae14f9f63936b8e038a34fa usedByReleasedVersion: true '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when the requested image was not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_docker_registry_002 message: Image not found on the registry. '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_docker_registry_001 message: Failed to finalize request, unexpected error occurred. /nerve/registry/events: post: summary: Receive Docker Registry Notifications description: This route receives notifications from the Docker registry and does not require authentication. security: [] operationId: nerve_registry_notify tags: - NERVE_DOCKER_REGISTRY x-internal: true responses: '204': description: Success /nerve/registry/auth: get: summary: Authenticate Docker Registry description: This endpoint is used to authenticate Docker registry requests. security: [] operationId: nerve_registry_auth tags: - NERVE_DOCKER_REGISTRY x-internal: true parameters: - name: service in: query description: The service requesting authentication (e.g., "Nerve Docker registry"). required: true schema: type: string minLength: 1 maxLength: 21 pattern: ^[A-Za-z_]+$ enum: - Nerve_Docker_registry - name: scope in: query description: The scope of the authentication request (e.g., "repository:your-repo:push,pull"). schema: type: string minLength: 1 maxLength: 500 pattern: ^.*$ - name: client_id in: query description: The client ID of the service requesting authentication. schema: type: string minLength: 1 maxLength: 6 pattern: ^[A-Za-z_]+$ enum: - docker - name: account in: query description: The account requesting authentication. schema: type: string minLength: 1 maxLength: 500 pattern: ^.*$ x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successful authentication content: application/json: schema: type: object description: Object containing the authentication token properties: token: type: string description: The authentication token. pattern: ^[A-Za-z0-9-_]+(\.[A-Za-z0-9-_]+){2}$ minLength: 1 maxLength: 2000 example: token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c '401': description: Unauthorized content: application/json: schema: type: object description: Object containing the error details additionalProperties: false required: - errors properties: errors: type: array description: A list of errors minItems: 1 maxItems: 1 items: type: object properties: code: type: string description: The error code minLength: 1 maxLength: 100 pattern: ^[A-Za-z_]+$ example: INTERNAL_SERVER_ERROR message: type: string description: The error message minLength: 1 maxLength: 150 pattern: ^.*$ example: Internal server error '429': description: Too many requests - brute force protection triggered content: application/json: schema: type: object description: Object containing the error details additionalProperties: false required: - errors properties: errors: type: array description: A list of errors minItems: 1 maxItems: 1 items: type: object properties: code: type: string description: The error code minLength: 1 maxLength: 100 pattern: ^[A-Za-z_]+$ example: INTERNAL_SERVER_ERROR message: type: string description: The error message minLength: 1 maxLength: 150 pattern: ^.*$ example: Internal server error /nerve/registry/check-images-status: post: summary: List of images with their statuses description: List of provided images and their availability status on the nerve registry operationId: nerve_registry_image_list_with_status tags: - NERVE_DOCKER_REGISTRY requestBody: description: List of images that are sent to check the availability on the registry required: true content: application/json: schema: type: object description: Object containing a list of docker images required: - images properties: images: type: array description: A list of docker images minItems: 0 maxItems: 10000 items: type: string description: Docker image name and tag minLength: 1 maxLength: 384 pattern: ^(?=.{1,255}(?::|$))[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?$ x-permissions: - REGISTRY:PULL responses: '200': description: A list of images with their availability status content: application/json: schema: type: object description: Object containing a list of docker images and their availability status properties: listOfImagesWithStatus: type: array description: A list of docker images and their availability status minItems: 0 maxItems: 50 items: type: object description: Contains the image and its availability status properties: images: type: array description: A list of docker images minItems: 0 maxItems: 10000 items: type: string description: Docker image name and tag minLength: 1 maxLength: 384 pattern: ^(?=.{1,255}(?::|$))[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?$ available: type: boolean description: Flag indicating if the images are available on the registry example: listOfImagesWithStatus: - image: registry/alpine:latest available: true - image: registry/nginx:latest available: false '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_docker_registry_001 message: Failed to finalize request, unexpected error occurred. /nerve/registry/delete-image-tag: post: summary: Delete image tag from the registry description: This endpoint is used to delete an image tag from the registry. The deletion process is based on the digest associated with the specified tag. If multiple tags share the same digest, all tags linked to that digest will be deleted as part of the operation. operationId: nerve_registry_delete_image_tag tags: - NERVE_DOCKER_REGISTRY requestBody: description: Information about image name and tag required: true content: application/json: schema: type: object description: Object containing the image name and tag required: - image - tag properties: image: type: string description: Docker image name minLength: 1 maxLength: 255 pattern: ^(?:[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*)$ tag: type: string description: Docker image tag minLength: 1 maxLength: 128 pattern: ^(?:[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})$ x-permissions: - REGISTRY:DELETE responses: '200': description: Success response content: application/json: schema: type: object description: Object containing the success message required: - success properties: success: type: boolean description: The success status example: success: true '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Request failed, this is the response received when the requested image was not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_docker_registry_002 message: Image not found on the registry. '405': description: Request failed, this is the response received when image deletion is not allowed because it is used by a released version content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '405' errorCode: nerve_docker_registry_003 message: Image is used by a released version, delete action is not possible. '500': description: Request failed, this is the response received when an unexpected error occurred on the server side content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_docker_registry_001 message: Failed to finalize request, unexpected error occurred. /nerve/node: post: summary: Create a node operationId: create_node tags: - NODE description: Create a new node in the Nerve Management System. requestBody: description: Required parameters to create a new Node in the Management system. required: true content: application/json: schema: description: Basic information about node type: object required: - name - serialNumber - secureId properties: name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} secureId: type: string description: Node secure id minLength: 16 maxLength: 16 pattern: ([A-Za-z]|\d){16} labels: type: array minItems: 0 maxItems: 1001 items: type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value description: 'List of labels assigned to the node. A label key must be unique for each node it is assigned to (e.g. node cannot have both of these labels: "color: green" and "color: blue"). To remove specific label, just remove it from the list.' remoteConnections: type: array minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls description: List of defined remote connections example: name: mfn lab01 secureId: MFNLAB0000000000 serialNumber: MFNLAB000000 labels: [] remoteConnections: [] x-permissions: - NODE:CREATE responses: '200': description: Node successfully created content: application/json: schema: description: Node object from the database type: object allOf: - description: Node object from the database without remote connections type: object required: - name - serialNumber - type - hash - labels - subgroup - created - rebootStatus - connectionStatus - vmBackup - vmSnapshot - userId properties: _id: allOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - description: Node id from the database (nodeId) name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} model: description: The name of the hardware model (hardware model must be defined in the database) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id type: type: string minLength: 1 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of the device default: hg hash: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Calculated hash hardwareId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object manufacturer: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer(human readable) default: nerve minLength: 1 maxLength: 1000 oui: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer default: nerve minLength: 1 maxLength: 1000 subgroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node subgroup unassignInProgress: type: boolean description: Indicates if unassigning node is in progress(OBLO legacy) isAutomaticallyBackup: type: boolean description: (OBLO legacy) default: false staging: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node staging type [beta, test, latest, minimum](OBLO legacy) default: beta installationInProgress: type: boolean description: Indicates if installation of software is in progress(OBLO legacy) created: description: Date when node was created anyOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object installations: type: array minItems: 0 maxItems: 1001 description: List of software assigned to the node(OBLO legacy) items: type: object factoryResetStatus: type: boolean description: Indicates if factory reset procedure initiated from SC(OBLO legacy) rebootStatus: type: boolean description: Indicates if reboot procedure initiated from SC(OBLO legacy) backupRestoreInProgress: type: boolean description: Determines backup status(OBLO legacy) isUpdating: type: boolean description: Is node currently updating to newer version vmBackup: type: boolean description: Is the VM backup option is allowed on the node default: false nullable: true vmSnapshot: type: boolean description: Is the VM snapshot option is allowed on the node default: false nullable: true updateStartedTimestamp: type: integer format: int64 nullable: true description: Timestamp when node update started minimum: 0 maximum: 4102444800000 lastSystemStart: type: integer format: int64 nullable: true description: Timestamp when the node was last started minimum: 0 maximum: 4102444800000 connectionStatus: description: Status if the node connection to MS enum: - online - offline userId: allOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: User id from the database (_id) of the user who created the node capabilities: type: array minItems: 0 maxItems: 1001 description: List of capabilities items: type: object description: List of capabilities. properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Capability name description: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1000 description: Short capability description imageVariant: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Image variant (introduced for generic image updates) default: '' minLength: 0 maxLength: 1000 lastTimeStatusUpdated: description: Timestamp of the last time the status was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 nullable: true - type: object nullable: true currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ heartBeatReceived: description: Timestamp of the node heartbeat message type: number timezone: description: Timezone set on node type: object nullable: true properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The timezone setup on node minLength: 1 maxLength: 1000 hardwareName: description: The name of the hardware model type: string minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9\s-]+$ - type: object required: - remoteConnections properties: remoteConnections: type: array description: List of defined remote connections minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls examples: created_node: value: rebootStatus: false factoryResetStatus: false installationInProgress: false staging: beta backupRestoreInProgress: false isAutomaticallyBackup: false unassignInProgress: false subgroup: default labels: [] remoteConnections: - _id: 62befe27d82c98006ed99cbe name: local ui acknowledgment: 'No' hostname: 172.20.2.1 port: 3333 localPort: 5656 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe39ae8a5a0055289b69 name: tunnel node acknowledgment: 'No' hostname: localhost port: 22 localPort: 1212 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe45ae8a5a0055289bab name: screen node location: '' connection: SSH numberOfConnections: 1 acknowledgment: 'No' hostname: localhost port: 22 localPort: 0 autoretry: 1 swapRedBlue: false cursor: '' readOnly: false username: '' password: '' type: SCREEN privateKey: '' securityMode: '' ignoreServerCertificate: false activeConnections: [] __v: 0 isUpdating: false updateStartedTimestamp: null lastSystemStart: 1658224058180 vmSnapshot: true vmBackup: true _id: 62befdddd82c98006ed99b61 name: mfn lab serialNumber: MFN000000000 secureId: 086091F3E069407A model: mfn-100 type: hg hash: 22dc08d3b2e7d678ef1f438c9bd23fec4fb3077f connectionStatus: online hardwareId: 62befb774b1e51005532dd08 manufacturer: nerve oui: nerve userId: 62befb774b1e51005532dcfa installations: [] created: '2022-07-01T13:59:57.212Z' capabilities: - _id: 62befde1f85a1c16c234f0e3 name: CODESYS PLC description: '' - _id: 62d151972c1648cb6dd094ed name: Vm video option description: '' - _id: 62befde3f85a1c16c234f11a name: Virtualization via XEN description: '' - _id: 62befbde4b1e510055336264 name: Virtualization description: '' - _id: 62befde1f85a1c16c234f0db name: Logging via Filebeat description: '' - _id: 62befde1f85a1c16c234f0da name: Docker Container description: '' - _id: 62befde1f85a1c16c234f0df name: Monitoring via Metricbeat description: '' __v: 10 lastTimeStatusUpdated: '2022-07-19T09:47:39.498Z' currentFWVersion: 2.5.0 heartBeatReceived: 1658231261729 imageVariant: generic timezone: _id: 63f4b53f65e08a005a2c1421 name: Etc/UTC '400': description: Invalid parameters content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_040 httpCode: '400' message: Property 'labels' must be an array of key values pairs '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Provided hardware model does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_007 httpCode: '404' message: Hardware model you are looking for does not exist '409': description: '- Node with provided name already exists - Node with provided serial number already exists - Label key must be unique for the node' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_005 httpCode: '409' message: Node with this name already exists '500': description: Generic error node creation failed content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_036 httpCode: '500' message: Failed to create node get: summary: Get the selected node operationId: get_node_by_serial_number tags: - NODE description: Used to get one specific node referenced by the serialNumber. parameters: - name: serialNumber in: query required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:VIEW responses: '200': description: Operation was successful. content: application/json: schema: description: Node object from the database with basic information type: object required: - name - serialNumber - _id properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id remoteConnections: type: array description: List of defined remote connections minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls example: rebootStatus: false factoryResetStatus: false installationInProgress: false staging: beta backupRestoreInProgress: false isAutomaticallyBackup: false unassignInProgress: false subgroup: default labels: [] remoteConnections: - _id: 62befe27d82c98006ed99cbe name: local ui acknowledgment: 'No' hostname: 172.20.2.1 port: 3333 localPort: 5656 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe39ae8a5a0055289b69 name: tunnel node acknowledgment: 'No' hostname: localhost port: 22 localPort: 1212 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe45ae8a5a0055289bab name: screen node location: '' connection: SSH numberOfConnections: 1 acknowledgment: 'No' hostname: localhost port: 22 localPort: 0 autoretry: 1 swapRedBlue: false cursor: '' readOnly: false username: '' password: '' type: SCREEN privateKey: '' securityMode: '' ignoreServerCertificate: false activeConnections: [] __v: 0 isUpdating: false updateStartedTimestamp: null lastSystemStart: 1658224058180 vmSnapshot: true vmBackup: true _id: 62befdddd82c98006ed99b61 name: mfn lab serialNumber: MFN000000000 secureId: 086091F3E069407A model: mfn-100 type: hg hash: 22dc08d3b2e7d678ef1f438c9bd23fec4fb3077f connectionStatus: online hardwareId: 62befb774b1e51005532dd08 manufacturer: nerve oui: nerve userId: 62befb774b1e51005532dcfa installations: [] created: '2022-07-01T13:59:57.212Z' capabilities: - _id: 62befde1f85a1c16c234f0e3 name: CODESYS PLC description: '' - _id: 62d151972c1648cb6dd094ed name: Vm video option description: '' - _id: 62befde3f85a1c16c234f11a name: Virtualization via XEN description: '' - _id: 62befbde4b1e510055336264 name: Virtualization description: '' - _id: 62befde1f85a1c16c234f0db name: Logging via Filebeat description: '' - _id: 62befde1f85a1c16c234f0da name: Docker Container description: '' - _id: 62befde1f85a1c16c234f0df name: Monitoring via Metricbeat description: '' __v: 10 lastTimeStatusUpdated: '2022-07-19T09:47:39.498Z' currentFWVersion: 2.5.0 heartBeatReceived: 1658231261729 imageVariant: generic timezone: _id: 63f4b53f65e08a005a2c1421 name: Etc/UTC '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found /nerve/node/{nodeId}: get: summary: Get data of the selected node operationId: get_node tags: - NODE description: Used to retrieve one specific node by the nodeId parameter. The delete route uses the serial number as parameter. This will be redesigned in v2 Node release. parameters: - name: nodeId in: path required: true description: Node id specified by the Management System. schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: fetchFreshNodeData in: query description: When getting node information from the database, with fetchFreshNodeData query param set to true, latest node information will be retrieved directly from the node device. required: false schema: type: boolean default: true responses: '200': description: Operation was successful. content: application/json: schema: description: Node object from the database type: object allOf: - description: Node object from the database without remote connections type: object required: - name - serialNumber - type - hash - labels - subgroup - created - rebootStatus - connectionStatus - vmBackup - vmSnapshot - userId properties: _id: allOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - description: Node id from the database (nodeId) name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} model: description: The name of the hardware model (hardware model must be defined in the database) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id type: type: string minLength: 1 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of the device default: hg hash: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Calculated hash hardwareId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object manufacturer: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer(human readable) default: nerve minLength: 1 maxLength: 1000 oui: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer default: nerve minLength: 1 maxLength: 1000 subgroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node subgroup unassignInProgress: type: boolean description: Indicates if unassigning node is in progress(OBLO legacy) isAutomaticallyBackup: type: boolean description: (OBLO legacy) default: false staging: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node staging type [beta, test, latest, minimum](OBLO legacy) default: beta installationInProgress: type: boolean description: Indicates if installation of software is in progress(OBLO legacy) created: description: Date when node was created anyOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object installations: type: array minItems: 0 maxItems: 1001 description: List of software assigned to the node(OBLO legacy) items: type: object factoryResetStatus: type: boolean description: Indicates if factory reset procedure initiated from SC(OBLO legacy) rebootStatus: type: boolean description: Indicates if reboot procedure initiated from SC(OBLO legacy) backupRestoreInProgress: type: boolean description: Determines backup status(OBLO legacy) isUpdating: type: boolean description: Is node currently updating to newer version vmBackup: type: boolean description: Is the VM backup option is allowed on the node default: false nullable: true vmSnapshot: type: boolean description: Is the VM snapshot option is allowed on the node default: false nullable: true updateStartedTimestamp: type: integer format: int64 nullable: true description: Timestamp when node update started minimum: 0 maximum: 4102444800000 lastSystemStart: type: integer format: int64 nullable: true description: Timestamp when the node was last started minimum: 0 maximum: 4102444800000 connectionStatus: description: Status if the node connection to MS enum: - online - offline userId: allOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: User id from the database (_id) of the user who created the node capabilities: type: array minItems: 0 maxItems: 1001 description: List of capabilities items: type: object description: List of capabilities. properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Capability name description: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1000 description: Short capability description imageVariant: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Image variant (introduced for generic image updates) default: '' minLength: 0 maxLength: 1000 lastTimeStatusUpdated: description: Timestamp of the last time the status was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 nullable: true - type: object nullable: true currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ heartBeatReceived: description: Timestamp of the node heartbeat message type: number timezone: description: Timezone set on node type: object nullable: true properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The timezone setup on node minLength: 1 maxLength: 1000 hardwareName: description: The name of the hardware model type: string minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9\s-]+$ - type: object required: - remoteConnections properties: remoteConnections: type: array description: List of defined remote connections minItems: 0 maxItems: 1001 items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls example: rebootStatus: false factoryResetStatus: false installationInProgress: false staging: beta backupRestoreInProgress: false isAutomaticallyBackup: false unassignInProgress: false subgroup: default labels: [] remoteConnections: - _id: 62befe27d82c98006ed99cbe name: local ui acknowledgment: 'No' hostname: 172.20.2.1 port: 3333 localPort: 5656 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe39ae8a5a0055289b69 name: tunnel node acknowledgment: 'No' hostname: localhost port: 22 localPort: 1212 type: TUNNEL activeConnections: [] __v: 0 - _id: 62befe45ae8a5a0055289bab name: screen node location: '' connection: SSH numberOfConnections: 1 acknowledgment: 'No' hostname: localhost port: 22 localPort: 0 autoretry: 1 swapRedBlue: false cursor: '' readOnly: false username: '' password: '' type: SCREEN privateKey: '' securityMode: '' ignoreServerCertificate: false activeConnections: [] __v: 0 isUpdating: false updateStartedTimestamp: null lastSystemStart: 1658224058180 vmSnapshot: true vmBackup: true _id: 62befdddd82c98006ed99b61 name: mfn lab serialNumber: MFN000000000 secureId: 086091F3E069407A model: mfn-100 type: hg hash: 22dc08d3b2e7d678ef1f438c9bd23fec4fb3077f connectionStatus: online hardwareId: 62befb774b1e51005532dd08 manufacturer: nerve oui: nerve userId: 62befb774b1e51005532dcfa installations: [] created: '2022-07-01T13:59:57.212Z' capabilities: - _id: 62befde1f85a1c16c234f0e3 name: CODESYS PLC description: '' - _id: 62d151972c1648cb6dd094ed name: Vm video option description: '' - _id: 62befde3f85a1c16c234f11a name: Virtualization via XEN description: '' - _id: 62befbde4b1e510055336264 name: Virtualization description: '' - _id: 62befde1f85a1c16c234f0db name: Logging via Filebeat description: '' - _id: 62befde1f85a1c16c234f0da name: Docker Container description: '' - _id: 62befde1f85a1c16c234f0df name: Monitoring via Metricbeat description: '' __v: 10 lastTimeStatusUpdated: '2022-07-19T09:47:39.498Z' currentFWVersion: 2.5.0 heartBeatReceived: 1658231261729 imageVariant: generic timezone: _id: 63f4b53f65e08a005a2c1421 name: Etc/UTC '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found /nerve/node/{serialNumber}: delete: summary: Delete the selected node operationId: delete_node tags: - NODE description: Used to delete one specific node referenced by the serialNumber. The get route uses nodeId as parameter. This will be redesigned in v2 Node release. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:DELETE responses: '204': description: The Node was successfully deleted '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found /nerve/node/{serialNumber}/reboot: post: summary: Reboot the selected node operationId: reboot_node tags: - NODE description: Used to reboot specified Node parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestBody: description: A maximum time to wait for a response from node [miliseconds] content: application/json: schema: type: object description: Time to wait for a response from node properties: timeout: type: integer format: int32 minimum: 10000 default: 10000 description: How long to wait for the response from the node [milliseconds] maximum: 86400000 examples: default_timeout: value: timeout: 10000 required: true x-permissions: - NODE:REBOOT responses: '200': description: Node reboot initiated content: application/json: schema: type: object description: Reboot action response properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Reboot action message minLength: 1 maxLength: 1000 message_code: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Reboot action message code minLength: 1 maxLength: 1000 example: message_code: NODE_REBOOT_INITIATED message: Reboot action has been initiated '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: '- Reboot action is not supported by this version of node - Node is offline' content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_019 httpCode: '409' message: Reboot action is not supported by this version of the Node '500': description: Reboot operation failed content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_041 httpCode: '500' message: Reboot operation failed, check backend logs for more details '504': description: Node failed to response in expected time content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_021 httpCode: '504' message: Request rejected by timeout /nerve/nodes/filtered/list: get: summary: Get a list of filtered and sorted nodes operationId: get_nodes_filtered tags: - NODE description: Used to get the list of nodes with the option to filter it by the node "name" parameter. The result is returned paged and sorted. parameters: - name: page in: query required: true description: A page of results to be returned. If not set, the default value is 0 and a first page will be returned. A number of items per page is defined by parameter limit. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: order in: query description: 'Specify how to sort the result in a key-value pair. Selected category (key): **created**, **name**, **serialNumber**, **currentFWVersion**. Select sort options (value): **asc**, **desc**.' allowReserved: true required: true schema: type: object description: Sort the result by the selected category in the selected order minProperties: 1 properties: created: description: Sort the result by the time node was created type: string enum: - asc - desc name: description: Sort by the name of the node type: string enum: - asc - desc serialNumber: description: Sort by the serial number of the node type: string enum: - asc - desc currentFWVersion: description: Sort by the firmware version of the node type: string enum: - asc - desc connectionStatus: description: Sort by the connection status of the node type: string enum: - asc - desc _id: description: Sort by the node id type: string enum: - asc - desc secureId: description: Sort by the secure id of the node type: string enum: - asc - desc labels: description: Sort by the labels of the node type: string enum: - asc - desc additionalProperties: false style: deepObject explode: true examples: created_ascending: summary: Sort by created time in ascending order. value: created: asc serial_number_desc: summary: Sort by serial number in descending order. value: serialNumber: desc - name: filterBy in: query description: "Specify filtering criteria for the list of nodes using the name or serialNumber parameters. \n - **name**: Filters nodes by their name.\n - **serialNumber**: Filters nodes by their\ \ serial number.\n If no parameters are provided (empty object), no filtering is applied, and all nodes are returned." allowReserved: true schema: type: object additionalProperties: false properties: name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 x-permissions: - NODE:LIST responses: '200': description: List of nodes matching the criteria content: application/json: schema: description: Response for 'node/filtered/list' API request type: object required: - count - data properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: description: List of nodes that match the search criteria type: array minItems: 0 maxItems: 1001 items: type: object required: - name - serialNumber - connectionStatus properties: name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} secureId: type: string description: Node secure id minLength: 16 maxLength: 16 pattern: ([A-Za-z]|\d){16} labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id connectionStatus: description: Status if the node connection to MS enum: - online - offline created: description: Date when node was created anyOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ loweritem: type: string minLength: 1 maxLength: 1000 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ description: Node name in lower case example: count: 1 data: - name: Node serialNumber: MFN111111111 secureId: MFNLAB0000000000 connectionStatus: online '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: An error occurred in executing of listing operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_046 httpCode: '500' message: An error occurred in executing of listing operation /nerve/nodes/deploy/{workloadId}/{versionId}: get: summary: Get a list of nodes for a possible deployment of the selected workload version operationId: get_nodes_for_deploy tags: - NODE description: Get a list of nodes where the selected workload version can be deployed based on the character of the workload and Node properties. The list can be optionally filtered. The result is returned paged and sorted. parameters: - name: workloadId in: path required: true description: Workload Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: page in: query required: true description: A page of results to be returned. If not set, the default value is 0 and a first page will be returned. A number of items per page is defined by parameter limit. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: filterBy in: query description: Define the "name" parameter for the filter as key-value pair. If not defined (empty object), no filter is set and all nodes will be returned. allowReserved: true schema: type: object additionalProperties: false properties: name: type: string description: Filter the list by nodes "name" parameter. pattern: "^(?![\0-\x1F\x7F-\x9F()*]).*$" minLength: 0 maxLength: 1000 style: deepObject explode: true examples: filter_by_name: summary: Filter a list of nodes by the "name" parameter. value: name: mfn - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: order in: query description: Order by workload name or created time allowReserved: true schema: type: string description: Order by workload name or created time enum: - '{"created":"desc"}' - '{"created":"asc"}' - '{"name":"desc"}' - '{"name":"asc"}' x-permissions: - NODE:LIST responses: '200': description: List of nodes matching the criteria content: application/json: schema: description: Response for API '/deploy' type: object properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: description: List of nodes eligible for deploying the selected workload version type: array minItems: 0 maxItems: 1001 items: type: object allOf: - description: Node object from the database without remote connections type: object required: - name - serialNumber - type - hash - labels - subgroup - created - rebootStatus - connectionStatus - vmBackup - vmSnapshot - userId properties: _id: allOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - description: Node id from the database (nodeId) name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} model: description: The name of the hardware model (hardware model must be defined in the database) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ labels: description: List of labels assigned to the node type: array minItems: 0 maxItems: 1001 items: description: Label DB id type: type: string minLength: 1 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of the device default: hg hash: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Calculated hash hardwareId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object manufacturer: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer(human readable) default: nerve minLength: 1 maxLength: 1000 oui: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Identification of the hardware manufacturer default: nerve minLength: 1 maxLength: 1000 subgroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node subgroup unassignInProgress: type: boolean description: Indicates if unassigning node is in progress(OBLO legacy) isAutomaticallyBackup: type: boolean description: (OBLO legacy) default: false staging: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Node staging type [beta, test, latest, minimum](OBLO legacy) default: beta installationInProgress: type: boolean description: Indicates if installation of software is in progress(OBLO legacy) created: description: Date when node was created anyOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object installations: type: array minItems: 0 maxItems: 1001 description: List of software assigned to the node(OBLO legacy) items: type: object factoryResetStatus: type: boolean description: Indicates if factory reset procedure initiated from SC(OBLO legacy) rebootStatus: type: boolean description: Indicates if reboot procedure initiated from SC(OBLO legacy) backupRestoreInProgress: type: boolean description: Determines backup status(OBLO legacy) isUpdating: type: boolean description: Is node currently updating to newer version vmBackup: type: boolean description: Is the VM backup option is allowed on the node default: false nullable: true vmSnapshot: type: boolean description: Is the VM snapshot option is allowed on the node default: false nullable: true updateStartedTimestamp: type: integer format: int64 nullable: true description: Timestamp when node update started minimum: 0 maximum: 4102444800000 lastSystemStart: type: integer format: int64 nullable: true description: Timestamp when the node was last started minimum: 0 maximum: 4102444800000 connectionStatus: description: Status if the node connection to MS enum: - online - offline userId: allOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: User id from the database (_id) of the user who created the node capabilities: type: array minItems: 0 maxItems: 1001 description: List of capabilities items: type: object description: List of capabilities. properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Capability name description: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1000 description: Short capability description imageVariant: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Image variant (introduced for generic image updates) default: '' minLength: 0 maxLength: 1000 lastTimeStatusUpdated: description: Timestamp of the last time the status was updated anyOf: - type: string format: date-time minLength: 8 maxLength: 30 nullable: true - type: object nullable: true currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ heartBeatReceived: description: Timestamp of the node heartbeat message type: number timezone: description: Timezone set on node type: object nullable: true properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The timezone setup on node minLength: 1 maxLength: 1000 hardwareName: description: The name of the hardware model type: string minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9\s-]+$ - type: object required: - remoteConnections properties: remoteConnections: description: List of remote connections ids type: array minItems: 0 maxItems: 1001 items: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object example: value: count: 1 data: - _id: 63ef4c340cb67e00543aee9a rebootStatus: false factoryResetStatus: false installationInProgress: false staging: beta backupRestoreInProgress: false isAutomaticallyBackup: false unassignInProgress: false subgroup: default labels: [] remoteConnections: - 63ef4c7d26518c0055717007 - 63ef4c8d0cb67e00543aeec4 - 63ef4c9726518c0055717023 - 63ef4cbb26518c005571705a - 63f35cb50cb67e00543b2856 isUpdating: false updateStartedTimestamp: null lastSystemStart: 1676981564659 vmSnapshot: true vmBackup: true imageVariant: generic name: mfn office serialNumber: NOVISAD44MFN secureId: CF49E6C77D23D98F model: mfn-100 type: hg hash: ac7f721780d54f44e6f9b40f678245326c4710ad connectionStatus: online hardwareId: 638f5ddbf7d98b00546131f0 manufacturer: nerve oui: nerve userId: 638f5ddbf7d98b00546131e2 installations: [] created: '2023-02-17T09:43:16.085Z' capabilities: - _id: 6390589d1048323beb8e2344 name: Logging via Filebeat description: '' - _id: 6390589d1048323beb8e2342 name: Docker Container description: '' - _id: 6390589d1048323beb8e2348 name: Monitoring via Metricbeat description: '' - _id: 6390589d1048323beb8e234a name: Docker Compose description: 'docker-compose version 1.21.0, build unknown docker-py version: 3.4.1 CPython version: 3.7.3 OpenSSL version: OpenSSL 1.1.1n 15 Mar 2022' - _id: 6390589d1048323beb8e234c name: Virtualization via XEN description: '' - _id: 638f5dfcf7d98b005461b6e7 name: Virtualization description: '' - _id: 6390589d1048323beb8e2340 name: CODESYS PLC description: '' __v: 11 lastTimeStatusUpdated: '2023-02-24T17:26:47.731Z' currentFWVersion: 2.6.0-rc.7 heartBeatReceived: 1677442389061 timezone: _id: 63f4b53f65e08a005a2c1421 name: Etc/UTC '400': description: Failed to fetch the list of nodes content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_034 httpCode: '400' message: Failed to get list of nodes for deploy '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with provided id does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' description: Workload you are looking for does not exist! /nerve/node/applyMonitoringAndLoggingSettings/{serialNumber}: post: summary: Set monitoring and logging configuration of the selected node operationId: setup_monitoring_and_logging tags: - NODE description: Used to set the current configuration of the system monitoring (resource usage) and the docker logging + monitoring setting. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestBody: description: Monitoring and logging settings required: true content: application/json: schema: type: object description: System monitoring and docker logging + monitoring configuration additionalProperties: false properties: dockerLogging: type: boolean description: If enabled the node collects logs from docker workloads and sends them to the management system. dockerMonitoring: type: boolean description: If enabled the node collects performance data (e.g. resource usage) from docker workloads and sends them to the management system. systemMonitoring: type: boolean description: If enabled the node collects overall system performance data (e.g. resource usage) sends them to the management system. systemLogging: type: boolean description: If enabled the node collects system logs and sends them to the management system. required: - dockerLogging - dockerMonitoring - systemMonitoring example: dockerMonitoring: false dockerLogging: false systemMonitoring: false x-permissions: - NODE:LOGGING_AND_MONITORING_SETTINGS responses: '200': description: Successfully applied logging and monitoring settings on the node content: application/json: schema: type: object description: Empty object is returned additionalProperties: false minProperties: 0 maxProperties: 0 example: {} '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: The logging and monitoring feature is not supported by this node software version. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_028 httpCode: '409' message: Logging and monitoring feature is only supported on node version >= 2.3.0 '500': description: Apply logging and monitoring settings operation failed content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_024 httpCode: '500' message: Apply logging and monitoring settings operation failed /nerve/node/monitoringAndLoggingSettings/{serialNumber}: get: summary: Get the monitoring and logging configuration of the selected node operationId: get_monitoring_and_logging tags: - NODE description: Used to retrieve the current configuration of the system monitoring (resource usage) and the docker logging + monitoring setting. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:LOGGING_AND_MONITORING_SETTINGS responses: '200': description: The current monitoring and logging configuration of the node content: application/json: schema: type: object description: System monitoring and docker logging + monitoring configuration additionalProperties: false properties: dockerLogging: type: boolean description: If enabled the node collects logs from docker workloads and sends them to the management system. dockerMonitoring: type: boolean description: If enabled the node collects performance data (e.g. resource usage) from docker workloads and sends them to the management system. systemMonitoring: type: boolean description: If enabled the node collects overall system performance data (e.g. resource usage) sends them to the management system. systemLogging: type: boolean description: If enabled the node collects system logs and sends them to the management system. required: - dockerLogging - dockerMonitoring - systemMonitoring example: dockerMonitoring: false dockerLogging: false systemMonitoring: false '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: The logging and monitoring feature is not supported by this node software version. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_028 httpCode: '409' message: Logging and monitoring feature is only supported on node version >= 2.3.0 '500': description: Failed to retrieve the current monitoring and logging configuration for the specified node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_023 httpCode: '500' message: Get logging and monitoring status operation failed /nerve/v2/node/{serialNumber}/versions/{versionId}/activity-logs: get: summary: Get all activity logs operationId: get_all_activity_logs tags: - NODE description: Get a list of all activity logs for one deployed workload. The list is returned paged. parameters: - name: page in: query required: true description: A page of results to be returned. If not set, the default value is 1 and a first page will be returned. A number of items per page is defined by parameter limit. schema: description: Page of results to get from backend type: integer format: int32 default: 1 minimum: 1 maximum: 1000 - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: search in: query description: Searching through all parameters of object schema: description: Number of items in result set when searching is applied type: string default: '' minLength: 0 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ x-permissions: - WORKLOAD:CONTROL responses: '200': description: List of all workload activity logs content: application/json: schema: description: List of all workload activity logs type: object additionalProperties: false properties: data: type: array minItems: 0 maxItems: 1001 description: List of activity logs items: type: object properties: timestamp: type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 username: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Username to use for authentication minLength: 1 maxLength: 1000 typeOfAction: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of action minLength: 1 maxLength: 1000 workloadVersionName: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Name of the workload version result: type: string description: Result of the action enum: - Success - Fail required: - timestamp - username - typeOfAction - workloadVersionName - result count: type: integer format: int64 description: Number of activity logs minimum: 0 maximum: 10000000 required: - data - count examples: activity-logs: value: data: - timestamp: '2024-10-24T06:55:52.122Z' username: zivko.crnojacki@tttech.com typeOfAction: Restart workload nginx_5443-ngixn with ID 64e8725102db4e07b54bad65. workloadVersionName: static-website v 1.0 result: Success count: 1 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/v2/node/{serialNumber}/versions/{versionId}/activity-logs/download: get: summary: Get activity logs for a single workload description: 'Used to get activity logs for a single workload. Required permission: **NODE:LIST**' operationId: activity_logs_get_single security: - cookieAuth: [] tags: - NODE parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: versionId in: path required: true description: Workload version Id schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - WORKLOAD:CONTROL responses: '200': description: Successful operation content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ format: binary minLength: 1 maxLength: 1000 description: File with activity logs for a single workload headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 example: attachment; filename="timestamp-workloadName-workloadVersion.csv" description: The filename of the file being downloaded '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: Request failed, this is the response received when the cookie is missing in the header. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '401' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with provided id does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' description: Workload you are looking for does not exist! /nerve/v2/node/{serialNumber}/workloads/activity-logs/download: get: summary: Get activity logs for all workloads of a single node description: 'Used to get activity logs for all workloads of a single node. Required permission: **NODE:LIST**' operationId: activity_logs_get_all security: - cookieAuth: [] tags: - NODE parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:LOGGING_AND_MONITORING_SETTINGS responses: '200': description: Successful operation content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: File with activity logs for all workloads on a single node minLength: 1 maxLength: 1000 format: binary headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: The filename of the file being downloaded example: attachment; filename="timestamp-NodeSerialNumber.csv" '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: Request failed, this is the response received when the cookie is missing in the header. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '401' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Workload with provided id does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '000700' httpCode: '404' description: Workload you are looking for does not exist! /nerve/v2/node/logging-monitoring/{serialNumber}: get: summary: Get the monitoring and logging configuration description: Get the logging and monitoring configuration of the selected node. The logging level can viewed as well. operationId: get_nerve_v2_node_logging_monitoring_serial_number tags: - NODE_v2 parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:LOGGING_AND_MONITORING_SETTINGS responses: '200': description: Successful response content: application/json: schema: title: LoggingMonitoringLogLevels description: Configuration for logging, monitoring, and log levels across various systems type: object properties: loggingMonitoring: description: Logging and monitoring configuration type: object properties: supported: type: boolean description: Is logging and monitoring supported dockerMonitoring: type: boolean description: Is docker monitoring enabled systemMonitoring: type: boolean description: Is system monitoring enabled dockerLogging: type: boolean description: Is docker logging enabled systemLogging: type: boolean description: If enabled the node collects system logs and sends them to the management system. required: - supported logLevels: description: Log level configuration type: object title: Log levels model properties: dataId: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Identifier for the log levels values: type: object description: Contains the log level settings for various systems required: - ovdm properties: ovdm: type: object description: Log levels configuration for the OVDM system properties: ovdm: type: object description: Log levels settings for the OVDM system properties: level: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Specifies the current log level options: type: array minItems: 0 maxItems: 1001 description: Lists the available log level options items: type: object description: Contains the name and value for a log level option properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: The name of the log level value: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: The value associated with the log level libvirt: type: object description: Log levels configuration for the LibVirt system properties: libvirt_ctl: type: object description: Log levels settings for the LibVirt system properties: level: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Specifies the current log level options: type: array minItems: 0 maxItems: 1001 description: Lists the available log level options items: type: object description: Contains the name, value, and node for a log level option properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: The name of the log level value: type: integer format: int32 description: The value associated with the log level minimum: 0 maximum: 1000000 nodeEq: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: The identifier for the node in which the log level is applied codesys: type: object description: Log levels configuration for the CODESYS system properties: codesys_ctl: type: object description: Log levels settings for the CODESYS control system properties: level: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: Specifies the current log level options: type: array minItems: 0 maxItems: 1001 description: Lists the available log level options items: type: object description: Contains the name, value, and node for a log level option properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: The name of the log level value: type: integer format: int32 description: The value associated with the log level minimum: 0 maximum: 1000000 nodeEq: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 description: The identifier for the node in which the log level is applied timestamp: type: integer format: int64 description: The timestamp indicating when the log levels were set or modified minimum: 0 maximum: 4102444800000 required: - dataId - values required: - loggingMonitoring - logLevels examples: logging_monitoring_config: value: loggingMonitoring: supported: true dockerMonitoring: true systemMonitoring: true dockerLogging: true logLevels: dataId: node_logging values: ovdm: ovdm: level: info options: - name: DEBUG value: debug - name: INFO value: info - name: WARN value: warn - name: ERROR value: error codesys: codesys_ctl: level: '30' options: - name: DEBUG value: 10 nodeEq: debug - name: INFO value: 20 nodeEq: info - name: WARNING value: 30 nodeEq: warn - name: ERROR value: 40 nodeEq: error - name: CRITICAL value: 50 nodeEq: error timestamp: 1662464757565 '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Node is offline content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_018 httpCode: '409' message: Node is offline '500': description: Example response content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_node_023 message: Get logging and monitoring status operation failed post: summary: Set monitoring and logging configuration operationId: put_nerve_node_logging_monitoring_serial_number description: Apply logging and monitoring configuration of the selected node. The logging level can be set as well. tags: - NODE_v2 parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestBody: content: application/json: schema: type: object description: Configures logging and monitoring across the system, providing controls to enable or disable Docker and system monitoring, and to set log levels for components such as OVDM, LibVirt, and CODESYS. properties: loggingMonitoring: type: object description: Logging and monitoring configuration required: - dockerMonitoring - systemMonitoring - dockerLogging properties: dockerMonitoring: type: boolean description: Enable or disable docker monitoring systemMonitoring: type: boolean description: Enable or disable system monitoring dockerLogging: type: boolean description: Enable or disable docker logging systemLogging: type: boolean description: If enabled the node collects system logs and sends them to the management system. logLevels: type: object description: Log level configuration properties: ovdm: type: string description: Log levels settings for the OVDM system enum: - info - debug - warn - error libvirt_ctl: type: string description: Log levels settings for the LibVirt system enum: - '10' - '20' - '30' - '40' - '50' codesys_ctl: type: string description: Log levels configuration for the CODESYS system enum: - '10' - '20' - '30' - '40' - '50' timeout: type: integer format: int32 description: How long to keep logging configuration in milliseconds. The maximum time that can be set is 24 hours. If the time is not set(equal to 0), the default value will be applied (1h) default: 3600000 minimum: 0 maximum: 86400000 systemLogFilter: type: string description: 'Specifies which system logs are sent to the Management System. Options: - ''all'': send all system logs. - ''ovdm'': send only logs from the OVDM service.' enum: - all - ovdm default: ovdm required: - ovdm required: - loggingMonitoring - logLevels required: true x-permissions: - NODE:LOGGING_AND_MONITORING_SETTINGS responses: '204': description: Successful operation '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Node is offline content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_018 httpCode: '409' message: Node is offline '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Throw error in case of unexpected error during apply operationId content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_node_024 message: Apply logging and monitoring settings operation failed /nerve/v2/node/{serial_number}/import-remote-connections: put: summary: Import remote connections on selected node operationId: import_rc_on_node tags: - NODE_v2 description: Method is used to import remote connections on selected node. parameters: - name: serial_number in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestBody: required: true content: multipart/form-data: schema: additionalProperties: false type: object description: File with remote connections to be imported on selected node properties: file: description: File containing remote connection details to be imported type: string format: binary minLength: 1 maxLength: 1000 example: file: example-file-content x-permissions: - NODE:EDIT responses: '200': description: List of imported remote connections content: application/json: schema: type: array minItems: 0 maxItems: 1001 description: List of imported remote connections items: description: Array of different remote connection types. anyOf: - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - description: Remote screen connection - type VNC allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - VNC - description: Remote screen connection - type SSH allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ - description: Remote screen connection - type RDP allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ ignoreServerCertificate: description: Indicates whether the server certificate for the RDP connection should be ignored type: boolean default: false securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls '400': description: Request failed, this is the response received when provided file has wrong extension. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' message: Wrong file extension, allowed extensions are .yaml or .yml '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/v2/node/{serial_number}/export-remote-connections: get: summary: Export remote connections data with file operationId: export_rc_on_node security: - cookieAuth: [] tags: - NODE_v2 description: Method is used to export remote connections data with file. parameters: - name: serial_number in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE:VIEW responses: '200': description: Success content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ format: binary minLength: 1 maxLength: 1000 description: File with remote connections data headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 example: attachment; filename=file_name.tar description: Exported file name '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: Request failed, this is the response received when the cookie is missing in the header. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: text/html: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Error message when node with provided serial number was not found minLength: 1 maxLength: 1000 example: Device you are looking for does not exist! '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/v2/node/{serial_number}/users: get: tags: - NODE_v2 operationId: get_users_from_node summary: Get a list of all users from the selected node description: Retrieve a list of all users from the selected node. parameters: - name: serial_number in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE_USER_MANAGEMENT:LIST responses: '200': description: Users successfully fetched from the selected node. content: application/json: schema: type: object description: Object containing an array of user data. properties: users: type: array minItems: 0 maxItems: 1001 description: List of users from the selected node. items: type: object required: - firstName - lastName - email - username - roles - id properties: id: description: User's database id type: integer format: int32 minimum: 1 maximum: 1000000 firstName: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: User's first name minLength: 1 maxLength: 1000 lastName: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: User's last name minLength: 1 maxLength: 1000 email: description: User's email address type: string minLength: 1 maxLength: 1000 format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ username: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: User's username minLength: 1 maxLength: 1001 roles: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: User's role minLength: 1 maxLength: 1000 lastLoggedInAt: description: Timestamp of the user's last login event type: integer format: int64 nullable: true minimum: 0 maximum: 4102444800000 additionalProperties: false example: users: - firstName: Demo lastName: Nerve username: demo@nerve.com email: demo@nerve.com roles: admin lastLoggedInAt: 1716803144649 id: 1 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Node is offline content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_018 httpCode: '409' message: Node is offline delete: tags: - NODE_v2 operationId: delete_users_from_node summary: Delete all user accounts from a node, or an account specified by username description: This API endpoint is used to delete a specific user account from the node if the 'username' query parameter is specified. If no 'username' is specified, all user accounts will be deleted, and the default account will be reactivated. parameters: - name: serial_number in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: username in: query required: false allowReserved: true description: Username of the user whose account is to be deleted schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: User's username minLength: 1 maxLength: 1001 x-permissions: - NODE_USER_MANAGEMENT:DELETE responses: '204': description: The user account was successfully deleted, or all user accounts were deleted and the default account was reactivated. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Node is offline content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_018 httpCode: '409' message: Node is offline /nerve/v2/node/{serialNumber}/docker-resources/images/unused: delete: summary: Removes unused Docker images from the Node tags: - NODE_v2 parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} description: Removes unused Docker images. This route allows user to remove unused Docker images from the Node. operationId: remove_unused_docker_images x-permissions: - NODE_DOCKER_RESOURCES:REMOVE_UNUSED_IMAGES responses: '204': description: Unused Docker images have been removed from the system. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Action is not supported content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_074 httpCode: '409' message: Managing docker resources (volumes, unused images) is only supported on node version >= 2.10.0 /nerve/v2/node/{serialNumber}/docker-resources/volumes: get: tags: - NODE_v2 operationId: get_volume_list_from_node summary: Get a list of all volumes from the selected node description: Retrieve a list of all volumes from the selected node. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NODE_DOCKER_RESOURCES:LIST_VOLUMES responses: '200': description: List of volumes successfully fetched from the node. content: application/json: schema: description: List all docker volumes from the node type: object additionalProperties: false required: - volumes properties: volumes: type: array description: Docker volumes from the node minItems: 0 maxItems: 1001 items: type: object required: - name - usedByContainers - usedByWorkloads - size - createdAt additionalProperties: false properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Docker volume name minLength: 1 maxLength: 1000 size: type: integer format: int64 description: Size of the volume in bytes minimum: 0 maximum: 1073741824000 createdAt: type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 backupInfo: type: array description: Backup information of the volume minItems: 1 maxItems: 2 items: type: object additionalProperties: false required: - action - status properties: action: type: string description: Backup action enum: - export - import status: type: string description: Backup status enum: - INITIATED - COMPLETED - FAILED - BACKUP_CREATION_IN_PROGRESS - BACKUP_UPLOAD_IN_PROGRESS - BACKUP_DOWNLOAD_IN_PROGRESS - BACKUP_EXTRACTION_IN_PROGRESS - CANCELLED backupName: type: string description: The path of the generated zip backup archive minLength: 15 maxLength: 100 pattern: ^[A-Za-z0-9_-]+\.zip$ creationInitiatedAt: type: string format: date-time description: Docker volume backup creation time in ISO 8601 format minLength: 24 maxLength: 24 errorMsg: type: string description: Error message in case of backup export/import failure minLength: 1 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ usedByContainers: type: array description: Docker containers using the volume minItems: 0 maxItems: 1000 items: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ usedByWorkloads: type: array description: Workloads using the volume minItems: 0 maxItems: 1000 items: type: object required: - name - type - versionName additionalProperties: false properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose versionName: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) volumeSize: type: integer format: int64 description: Size of the volume in bytes minimum: 1 maximum: 10000000000 example: volumes: - name: volume1 backupInfo: - action: export status: COMPLETED backupName: volume1-1742482156892.zip creationInitiatedAt: '2025-03-10T12:17:35.000Z' size: 1000000 createdAt: '2025-03-20T10:04:22.000Z' usedByContainers: - container1 - container2 usedByWorkloads: - name: workload1 type: docker versionName: version1 - name: workload2 type: docker-compose versionName: version2 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Action is not supported content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_074 httpCode: '409' message: Managing docker resources (volumes, unused images) is only supported on node version >= 2.10.0 '500': description: An error occurred while retrieving the list of volumes from the node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_073 httpCode: '500' message: Failed to list Docker volumes. Please check logs for more details. /nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}: delete: tags: - NODE_v2 operationId: delete_volume_from_node summary: Delete a volume from the selected node description: Delete a volume from the selected node. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: volumeName in: path required: true description: Name of the volume to which action should be applied. schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Docker volume name minLength: 1 maxLength: 1000 x-permissions: - NODE_DOCKER_RESOURCES:DELETE_VOLUME responses: '204': description: The volume was successfully deleted from the node. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Action is not supported content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_074 httpCode: '409' message: Managing docker resources (volumes, unused images) is only supported on node version >= 2.10.0 '500': description: An error occurred while deleting the volume from the node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_075 httpCode: '500' message: Failed to delete Docker volume. Please check logs for more details. /nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}/import: post: tags: - NODE_v2 operationId: import_data_to_volume_on_node summary: Import data to a volume on the selected node description: Import data to a volume on the selected node. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: volumeName in: path required: true description: Name of the volume to which action should be applied. schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Docker volume name minLength: 1 maxLength: 1000 requestBody: description: Defines volume data required: true content: multipart/form-data: schema: additionalProperties: false type: object description: Defines the data to be imported to the volume properties: file: description: File containing data to be imported to the volume type: string format: binary minLength: 1 maxLength: 1000 example: file: example-file-content.zip x-permissions: - NODE_DOCKER_RESOURCES:VOLUME_IMPORT_DATA responses: '200': description: Import has been initiated. content: application/json: schema: type: object description: Data retrieved from the node additionalProperties: false properties: message: type: string description: Confirmation message indicating that import has been initiated. minLength: 91 maxLength: 1091 pattern: ^Import to the docker volume '[A-z0-9-.]*' on the node '([A-Z0-9]){12}' has been successfully initiated\.$ example: message: Import to the docker volume 'volume1' on the node 'SERIALNUMBER' has been successfully initiated. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Action is not supported content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_074 httpCode: '409' message: Managing docker resources (volumes, unused images) is only supported on node version >= 2.10.0 '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: An error occurred while importing data to the volume on the node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_075 httpCode: '500' message: Import not possible. Directory depth exceeds the limit. /nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}/export: post: tags: - NODE_v2 operationId: export_volume_from_node summary: Initiate volume export from the selected node description: Initiate volume export from the selected node if export is possible, otherwise error is returned. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: volumeName in: path required: true description: Name of the volume to which action should be applied. schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Docker volume name minLength: 1 maxLength: 1000 x-permissions: - NODE_DOCKER_RESOURCES:EXPORT_VOLUME responses: '204': description: The volume export was successfully initiated from the node. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Action is not supported content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_074 httpCode: '409' message: Managing docker resources (volumes, unused images) is only supported on node version >= 2.10.0 '500': description: An error occurred while initiating the volume export from the node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_079 httpCode: '500' message: Failed to initiate Docker volume export. Please check logs for more details. /nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}/export/cancel: post: tags: - NODE_v2 operationId: cancel_volume_export_from_node summary: Cancel volume export that is in progress description: Cancel volume export that is in progress from the selected node parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: volumeName in: path required: true description: Name of the volume to which action should be applied. schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Docker volume name minLength: 1 maxLength: 1000 x-permissions: - NODE_DOCKER_RESOURCES:EXPORT_VOLUME responses: '204': description: The volume export was successfully cancelled from the node. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Action is not supported content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_074 httpCode: '409' message: Managing docker resources (volumes, unused images) is only supported on node version >= 2.10.0 '500': description: An error occurred while cancelling the volume export from the node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_105 httpCode: '500' message: Failed to cancel Docker volume export. Please check logs for more details. /nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}/import/cancel: post: tags: - NODE_v2 operationId: cancel_volume_import_on_node summary: Cancel volume import that is in progress description: Cancel import to the volume on the selected node that is in progress. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: volumeName in: path required: true description: Name of the volume to which action should be applied. schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Docker volume name minLength: 1 maxLength: 1000 x-permissions: - NODE_DOCKER_RESOURCES:VOLUME_IMPORT_DATA responses: '204': description: The volume import was successfully cancelled. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Volume import is not in progress. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_107 httpCode: '409' message: Volume import is not in progress. '500': description: An error occurred while cancelling the volume import. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_109 httpCode: '500' message: Failed to cancel Docker volume import. Please check logs for more details. /nerve/v2/node/{serialNumber}/production-mode: put: tags: - NODE_v2 operationId: set_production_mode summary: Enable or disable production mode for the node description: Enable or disable production mode for the node identified by the provided serial number. parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestBody: required: true content: application/json: schema: type: object description: Request body for enabling or disabling production mode. properties: productionMode: type: boolean description: Whether to enable or disable production mode required: - productionMode x-permissions: - NODE:PRODUCTION_MODE responses: '200': description: Success content: application/json: schema: type: object description: Response body for enabling or disabling production mode of a node. properties: productionMode: type: boolean description: Indicates if the node is in production mode. example: true example: productionMode: true '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with provided serial number was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_012 httpCode: '404' message: Node you are looking for was not found '409': description: Node does not support the required operation. Capability not reported. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '409' errorCode: nerve_node_118 message: Production mode is not supported on this node. No capability reported. '500': description: An error occurred in executing the set production mode operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_115 httpCode: '500' message: Failed to set production mode. Please check logs for more details. /nerve/labels: post: summary: Create label operationId: create_label tags: - LABEL description: Create a new label. A label helps to organize your workloads and nodes. After creation it needs to be assigned to a node or workload. requestBody: content: application/json: schema: type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value examples: label: value: key: node value: mfn-100 required: true x-permissions: - LABEL:CREATE responses: '200': description: Successful operation content: application/json: schema: description: A single label delivered from the backend. allOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: object properties: createdAt: description: Date and time when label was initially created. anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object examples: label_rsp: value: key: hardware value: mfn-100 createdAt: '2022-03-14T15:27:58.780Z' _id: 63ca8b3379623c0702ebb6dc __v: 0 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '409': description: A label with the key-value pair already exists. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: label_create_err: value: errorCode: nerve_label_001 httpCode: '409' message: A label with the key-value already exists. /nerve/labels/{label_id}: delete: summary: Delete the selected label operationId: delete_label tags: - LABEL description: Delete one specific label. Be sure it is not assigned to any other entry. parameters: - name: label_id in: path required: true description: 'Label ID. ' schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - LABEL:DELETE responses: '200': description: The label was successfully deleted. content: application/json: schema: description: Result of the last operation on the database as dbms returns it. properties: ok: description: Flags if the operation was success (1) type: number n: description: Number of items type: number nModified: description: Number of modified items in the database type: number examples: label_deleted: value: n: 0 nModified: 0 ok: 1 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: A label with the specified ID was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: label_not_found: value: errorCode: nerve_label_014 httpCode: '404' message: The label was not found. get: summary: Get the selected label operationId: get_label tags: - LABEL description: Get details about one specific label. parameters: - name: label_id in: path required: true description: 'Label ID. ' schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - LABEL:VIEW responses: '200': description: The label was successfully fetched. content: application/json: schema: description: A single label delivered from the backend. allOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: object properties: createdAt: description: Date and time when label was initially created. anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object examples: label_get: value: key: hardware value: mfn-100 createdAt: '2022-03-14T15:27:58.780Z' _id: 63ca8b3379623c0702ebb6dc __v: 0 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: A label with the specified ID was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: label_not_found: value: errorCode: nerve_label_014 httpCode: '404' message: The label was not found. patch: summary: Update the selected label operationId: update_label tags: - LABEL description: Update details of one specified label. parameters: - name: label_id in: path required: true description: 'Label ID. ' schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: content: application/json: schema: type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value examples: label_req: value: key: node value: mfn-100 required: true x-permissions: - LABEL:EDIT responses: '200': description: The label was successfully updated. content: application/json: schema: description: A single label delivered from the backend. allOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: object properties: createdAt: description: Date and time when label was initially created. anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object examples: label_rsp: value: key: hardware value: mfn-100 createdAt: '2022-03-14T15:27:58.780Z' _id: 63ca8b3379623c0702ebb6dc __v: 0 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: A label with the specified ID was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: label_not_found: value: errorCode: nerve_label_014 httpCode: '404' message: The label was not found. '409': description: A label with the key-value pair already exists. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: label_create_err: value: errorCode: nerve_label_001 httpCode: '409' message: A label with the key-value already exists. /nerve/labels/list: get: summary: Get a list of labels operationId: get_labels tags: - LABEL description: Get a list of all labels. The list is returned paged. parameters: - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: page in: query required: false description: The number of the page to be returned. Items per page is defined by the limit parameter. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: filterBy in: query description: Defines a name for the filter. If not defined, no filter is set and all labels will be displayed. allowReserved: true required: false schema: type: object additionalProperties: false maxProperties: 1 properties: key: type: string description: Filter the list by key name. pattern: ^(?!.*\x00).*$ minLength: 0 maxLength: 1000 value: type: string description: Filter the list by value name. pattern: ^(?!.*\x00).*$ minLength: 0 maxLength: 1000 style: deepObject explode: true examples: filter_by_key: summary: Filter a list of labels by key value: key: key name pattern: ^(?!.*\x00).*$ minLength: 0 maxLength: 1000 - name: order in: query description: 'How to sort the result by selected category; ascending or descending. Possible categories: **key**, **value**, **createdAt**. Possible sort options: **asc**, **desc**.' allowReserved: true required: false schema: type: object additionalProperties: false properties: key: description: Sort the results by the label key type: string enum: - asc - desc value: description: Sort the results by the label value type: string enum: - asc - desc createdAt: description: Sort the results by the time of label creation type: string enum: - asc - desc style: deepObject explode: true examples: key_ascending: summary: Sort by key in ascending order. value: key: asc value_desc: summary: Sort by value in descending order. value: value: desc createdAt_desc: summary: Sort by created time in descending order. value: createdAt: desc x-permissions: - LABEL:LIST responses: '200': description: Successful operation content: application/json: schema: description: Paged list of labels. properties: count: type: number minimum: 0 description: Number of results returned. data: type: array minItems: 0 maxItems: 1001 items: description: A single label delivered from the backend. allOf: - type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: object properties: createdAt: description: Date and time when label was initially created. anyOf: - type: string format: date-time minLength: 8 maxLength: 30 - type: object description: List of labels matching given search criteria. required: - count - data examples: labels: value: count: 2 data: - createdAt: '2022-03-14T18:57:33.457Z' key: hw value: mfn-100 _id: 63ca8b3379623c0702ebb6dc __v: 0 - createdAt: '2022-03-14T18:57:12.113Z' key: hw value: simantec _id: 63ca8b2c79623c0702ebb6b0 __v: 0 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/labels/group: get: summary: Get labels grouped by their keys operationId: get_label_group tags: - LABEL description: Get a list of labels, that is grouped by their individual label keys. The groups are returned paged. parameters: - name: limit in: query description: Number of items per page of the result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: page in: query required: false description: The number of the page to be returned. Items per page is defined by the limit parameter. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: filterBy in: query description: Defines a name for the filter. If not defined, no filter is set and all labels will be displayed. allowReserved: true required: false schema: type: object additionalProperties: false maxProperties: 1 properties: key: type: string description: Filter the list by key name. pattern: ^(?!.*\x00).*$ minLength: 0 maxLength: 1000 value: type: string description: Filter the list by value name. pattern: ^(?!.*\x00).*$ minLength: 0 maxLength: 1000 style: deepObject explode: true examples: filter_by_key: summary: Filter a list of labels by key value: key: key name pattern: ^(?!.*\x00).*$ minLength: 0 maxLength: 1000 x-permissions: - LABEL:GROUP responses: '200': description: The groups were successfully fetched. content: application/json: schema: description: Paged list of label groups (group is a set of labels having same key). properties: count: type: number minimum: 0 description: Number of items in result-set. data: description: Array of groups. type: array minItems: 0 maxItems: 1001 items: properties: _id: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ count: type: number description: Number of labels matching given key. keys: description: Array of keys (always contains only one key) type: array minItems: 0 maxItems: 1001 items: type: object properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ labels: description: Array of labels that share same key. type: array minItems: 0 maxItems: 1001 items: type: object description: The key-value pair representing a label. properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ required: - key - value required: - count - key - labels required: - count - data examples: label_group: value: count: 2 data: - _id: hw key: hw count: 2 keys: - key: hw labels: - key: hw value: mfn-100 - key: hw value: siemens - _id: sw key: sw count: 1 keys: - key: sw labels: - key: sw value: debian '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /nerve/nodes/{serialNumber}/workloads/{deviceId}/configurations: post: summary: Apply configuration to docker workload description: 'The method is used to apply configuration to docker workloads. Required permission: **WORKLOAD_CONFIGURATION:APPLY**' operationId: apply_docker_workload_configuration tags: - WORKLOAD_CONFIGURATION parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - name: deviceId in: path required: true description: Unique identifier of the deployed workload. device is a term previously used for workloads. schema: type: string description: Id of the deployed workload pattern: ^\d+$ minLength: 3 maxLength: 4 requestBody: description: Defines workload configuration required: true content: multipart/form-data: schema: additionalProperties: false type: object description: Defines the configuration to be applied to the workload properties: file: description: File containing the workload configuration to be applied type: string format: binary minLength: 1 maxLength: 1000 data: type: object description: 'Information about workload and version(stringify JSON object). Example how to setup data field in request body: * Key: data * Value: ''{"action":"apply","volume":{"name":"config","path":"/usr/share/nginx/"},"restartOnConfigurationUpdate":false}'' Note: Before apply configuration, volume has to be created on this workload. After volume is created, workload shall be (re)deployed.' additionalProperties: false properties: action: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Action to perform. Value is 'apply'. minLength: 1 maxLength: 1000 restartOnConfigurationUpdate: description: Should workload be restarted after the configuration is applied type: boolean volume: description: Volume used type: object properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Name of volume minLength: 1 maxLength: 1000 path: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Volume path minLength: 1 maxLength: 1000 workloadId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 versionId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 required: - action - volume - restartOnConfigurationUpdate x-permissions: - WORKLOAD_CONFIGURATION:APPLY responses: '204': description: successful operation, configuration applied '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: error_upload_config_file: value: httpCode: '400' errorCode: nerve_workload_configuration_002 message: File upload failed. payload_not_defined: value: httpCode: '400' errorCode: nerve_workload_configuration_006 message: Payload not defined. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: workload_not_found: value: httpCode: '404' errorCode: nerve_workload_configuration_015 message: Workload for which configuration update is requested does not exist on the system. '409': description: Conflict content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: configuration_update_unsupported: value: httpCode: '409' errorCode: nerve_workload_configuration_018 message: Configuration update is only supported for docker and docker-compose workloads. configuration_update_not_allowed: value: httpCode: '409' errorCode: nerve_workload_configuration_019 message: Configuration update is not possible for workload that is in REMOVING or REMOVING_FAILED status. '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: failed_to_generate_download_link: value: httpCode: '500' errorCode: nerve_workload_configuration_013 message: Failed to generate configuration download link. unknown_error: value: httpCode: '500' errorCode: nerve_workload_configuration_003 message: Apply configuration failed with unknown reason. /nerve/upload-volume-backup: post: tags: - NODE_v2 summary: Upload a volume backup zip archive from the node to the MS description: Internal endpoint used to upload a volume backup zip archive from the node to the MS It is used when docker volume export is initiated from the MS side and created backup archive is uploaded from the node x-internal: true security: [] operationId: upload_volume_backup requestBody: required: true description: The volume backup file (ZIP format) that is uploaded from the node content: multipart/form-data: schema: additionalProperties: false type: object description: The volume backup file and additional information sent from the node properties: file: type: string format: binary minLength: 1 maxLength: 100000000 description: The backup file to upload (ZIP format) x-permissions: - GLOBAL:PUBLIC responses: '204': description: The backup was uploaded successfully '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '499': description: The request was cancelled by the node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_096 httpCode: '499' message: Request was cancelled by the node '500': description: An error occurred while uploading the volume backup archive from the node content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_node_097 httpCode: '500' message: Failed to upload Docker volume backup archive from node. Please check logs for more details. /nerve/dna/{serialNumber}/target: get: summary: Get target node configuration description: 'Used to get the target node configuration. Required permission: **NERVE_DNA:VIEW**' operationId: dna_target_configuration tags: - DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA:VIEW responses: '200': description: Successful operation content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Node configuration file minLength: 1 maxLength: 1000 format: binary headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 example: attachment; filename="config.zip" '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00002' httpCode: '400' message: Bad request '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node does not have node DNA capability content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_missing_node_dna_capability: value: httpCode: '409' errorCode: nerve_dna_033 message: Node DNA functionality is not supported on this node. No capability reported. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. put: summary: Apply target configuration to the selected node description: 'Used to update the existing configuration of the selected node by using configuration file. Required permission: **NERVE_DNA:EDIT**' operationId: apply_dna_configuration tags: - DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - in: query name: continueInCaseOfRestart schema: type: boolean default: false description: Select whether the node should continue DNA reconfiguration when it comes online again. Available only for node with version >= 2.7.0 - in: query name: restartAllWorkloads schema: type: boolean default: true description: If the flag is set to false, workloads will not be reset if they already exist on the node. Default value is true. - name: removeDockerImages in: query schema: type: boolean default: true description: If the flag is set to true, Docker images will be removed from the node. If set to false, the images will be retained. Docker images are removed from the node as part of the undeployment that is executed before the DNA file is applied, to eliminate workloads that are not part of that DNA configuration. This setting applies specifically to workloads using the Management System Registry. Available only for nodes with version >= 2.10.0. - in: query name: signFile description: Indicates whether the file should be signed by MS before it is applied to the node. Available only for nodes >= 3.1.0 schema: type: boolean default: false requestBody: description: Includes configuration file required: true content: multipart/form-data: schema: additionalProperties: false description: Request body for updating the node configuration type: object properties: file: description: Configuration file for updating the node configuration type: string format: binary minLength: 1 maxLength: 1000 x-permissions: - NERVE_DNA:EDIT responses: '202': description: Successful operation content: application/json: schema: type: object description: Object with DNA configuration initiation status message and tracking URI additionalProperties: false properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Message describing the DNA configuration initiation operation minLength: 1 maxLength: 1000 tracking: type: string description: The URI for getting completion status of job pattern: ^\/nerve\/dna\/([A-Za-z]|\d){12}\/status$ minLength: 1 maxLength: 1000 required: - message - tracking examples: dna_configuration_initiated: value: message: DNA configuration initiated tracking: /nerve/dna/123456789012/status '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: error_upload_config_file: value: httpCode: '400' errorCode: nerve_dna_001 message: File upload failed. config_file_error: value: httpCode: '400' errorCode: nerve_dna_002 message: Payload not defined. continue_reconfiguration_not_supported: value: httpCode: '400' errorCode: nerve_dna_019 message: Only nodes with version 2.7.0 and greater can continue DNA reconfiguration. '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node does not have node DNA capability content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_missing_node_dna_capability: value: httpCode: '409' errorCode: nerve_dna_033 message: Node DNA functionality is not supported on this node. No capability reported. '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. /nerve/dna/{serialNumber}/status: get: summary: Get configuration status description: 'Used to get the current status of DNA configuration. Required permission: **NERVE_DNA:VIEW**' operationId: dna_configuration_status tags: - DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA:VIEW responses: '200': description: Successful operation content: application/json: schema: description: The DNA configuration status info type: object additionalProperties: false properties: status: type: string description: The current state of DNA configuration enum: - APPLIED - UNDEFINED - INITIAL - RECONFIGURING - CANCELING - MODIFIED message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The message describing configuration status minLength: 1 maxLength: 1000 fileName: type: string description: The name of the DNA configuration file (target configuration) pattern: ^[a-zA-Z0-9._() -]*\.(yaml|YAML|yml|YML|zip|ZIP)$ minLength: 1 maxLength: 1000 progress: description: The progress of DNA node configuration type: object properties: percentage: type: integer format: int32 description: The progress in percentage minimum: 0 maximum: 100 message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: More detail about the current step in the configuration process minLength: 1 maxLength: 1000 updated: type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 timezone: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The timezone setup on node minLength: 1 maxLength: 1001 user: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The name of the user who did the last change minLength: 1 maxLength: 1000 initiatedFrom: type: string description: The application from which the DNA configuration was done enum: - NODE-LOCAL-UI - NERVE-MS signed: type: boolean description: Indicates whether the DNA file was signed by the Management System prior to sending the apply request to the node. default: false integrity: type: object description: Object representing the result of a workload integrity check, including whether the check passed and when it was executed required: - status properties: status: type: string description: "Workload integrity check status.\n - valid: Integrity check passed.\n - invalid: Integrity check failed.\n - unknown: Integrity could not be determined. No reference\ \ hash exists to validate against (e.g., legacy DNA, or failed hash calculation).\n - not_applicable: Integrity check does not apply in this state (e.g., DNA is not applied at\ \ all).\n - unavailable: Integrity status is unavailable or unreliable, such as during DNA reconfiguration or cancellation.\n" enum: - valid - invalid - unknown - not_applicable - unavailable checkedAt: description: The time indicating when the workload integrity check was performed format: date-time signature: type: string description: "DNA file signature verification result. values:\n - valid: The signature was successfully verified.\n - invalid: Signature verification failed. Possible reasons: signature\ \ file missing, corrupted, or an error occurred during verification (e.g., failed to download public key or a read error).\n - skipped: Signature verification was not performed because\ \ it was not applicable (DNA file is not signed at all).\n" enum: - valid - invalid - skipped required: - status - message examples: initial_state: value: status: INITIAL message: Default configuration. configuration_in_progress: value: status: RECONFIGURING message: Configuration in progress. fileName: my-config.zip progress: percentage: 56 message: Installing sample-name workload of type docker updated: '2023-01-12T09:36:15.363Z' timezone: Europe/Belgrade user: John Doe initiatedFrom: NERVE-MS configuration_canceling: value: status: CANCELING message: Canceling configuration in progress. fileName: my-config.zip user: Tom Hanks initiatedFrom: NERVE-MS configuration_applied: value: status: APPLIED message: Configuration succeeded. fileName: my-config.zip progress: percentage: 100 message: Done updated: '2023-01-12T09:36:15.363Z' timezone: Europe/Vienna user: Jane Doe initiatedFrom: NODE-LOCAL-UI configuration_canceled: value: status: UNDEFINED message: Configuration has been canceled. fileName: my-config.zip progress: percentage: 95 message: Downloading nginx-1 workload of type docker updated: '2023-01-12T09:36:15.363Z' timezone: America/Toronto user: Bruce Willis initiatedFrom: NERVE-MS configuration_failed: value: status: UNDEFINED message: Configuration failed. fileName: my-config.zip progress: percentage: 95 message: Initiate download of image nginxx:latest updated: '2023-01-12T09:36:15.363Z' user: Julia Roberts timezone: America/Chicago initiatedFrom: NERVE-MS configuration_modified: value: status: MODIFIED message: The configuration from the file is applied and then modifed. fileName: my-config.zip updated: '2023-01-12T09:36:15.363Z' timezone: Europe/London user: Johnny Depp initiatedFrom: NERVE-MS '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00002' httpCode: '400' message: Bad request '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. /nerve/dna/{serialNumber}/target/cancel: patch: summary: Cancel DNA configuration in progress description: 'Used to cancel the DNA configuration operation which is in progress. Required permission: **NERVE_DNA:EDIT**' operationId: cancel_dna_configuration tags: - DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA:EDIT responses: '202': description: Successful operation content: application/json: schema: type: object description: Response for DNA configuration cancellation additionalProperties: false properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Message describing the DNA configuration cancellation operation minLength: 1 maxLength: 1000 tracking: type: string description: The URI for getting completion status of job pattern: ^\/nerve\/dna\/([A-Za-z]|\d){12}\/status$ minLength: 1 maxLength: 1000 required: - message - tracking examples: dna_config_cancel_initiated: value: message: DNA configuration cancellation initiated tracking: /nerve/dna/123456789012/status '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: config_not_in_progress: value: httpCode: '400' errorCode: nerve_dna_007 message: Unable to complete cancel operation, because there is no configuration in-progress. '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node is offline content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '409' errorCode: nerve_dna_011 message: The node with specified serial number is currently offline. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. '504': description: The response did not received in time content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '504' errorCode: nerve_dna_012 message: The timeout for response message expired. /nerve/dna/{serialNumber}/current: get: summary: Get current node configuration description: 'Used to get the current node configuration. Required permission: **NERVE_DNA:VIEW**' operationId: dna_current_configuration tags: - DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA:VIEW responses: '200': description: Successful operation content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Node configuration file minLength: 1 maxLength: 1000 format: binary headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 example: attachment; filename="config.zip" '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: config_in_progress: value: httpCode: '400' errorCode: nerve_dna_005 message: The current configuration not available while configuration is in-progress. Try again later. '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. /nerve/dna/{serialNumber}/target/re-apply: put: summary: Re-apply target configuration to the selected node description: 'Used to re-apply the target configuration which was previously uploaded to the node. Required permission: **NERVE_DNA:EDIT**' operationId: re_apply_dna_configuration tags: - DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} - in: query name: continueInCaseOfRestart schema: type: boolean default: false description: Select whether the node should continue DNA reconfiguration when it comes online again. Available only for node with version >= 2.10.0 - in: query name: restartAllWorkloads schema: type: boolean default: true description: If the flag is set to false, workloads will not be reset if they already exist on the node. Default value is true. Available only for node with version >= 2.10.0 - name: removeDockerImages in: query schema: type: boolean default: true description: If the flag is set to true, Docker images will be removed from the node. If set to false, the images will be retained. Docker images are removed from the node as part of the undeployment that is executed before the DNA file is applied, to eliminate workloads that are not part of that DNA configuration. This setting applies specifically to workloads using the Management System Registry. Available only for nodes with version >= 2.10.0. x-permissions: - NERVE_DNA:EDIT responses: '202': description: Successful operation content: application/json: schema: type: object description: Object with DNA configuration initiation status message and tracking URI additionalProperties: false properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Message describing the DNA configuration initiation operation minLength: 1 maxLength: 1000 tracking: type: string description: The URI for getting completion status of job pattern: ^\/nerve\/dna\/([A-Za-z]|\d){12}\/status$ minLength: 1 maxLength: 1000 required: - message - tracking examples: dna_configuration_initiated: value: message: DNA configuration initiated tracking: /nerve/dna/123456789012/status '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: error_upload_config_file: value: httpCode: '400' errorCode: nerve_dna_001 message: File upload failed. config_file_error: value: httpCode: '400' errorCode: nerve_dna_002 message: Payload not defined. continue_reconfiguration_not_supported: value: httpCode: '400' errorCode: nerve_dna_019 message: Only nodes with version 2.7.0 and greater can continue DNA reconfiguration. '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node is offline content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '409' errorCode: nerve_dna_011 message: The node with specified serial number is currently offline. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. '504': description: The response did not received in time content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '504' errorCode: nerve_dna_012 message: The timeout for response message expired. /nerve/service-os-dna/{serialNumber}/target: put: tags: - SERVICE-OS-DNA summary: Apply target service os configuration description: Used to update the existing service os configuration of the selected node by using configuration file. operationId: apply_service_os_dna_configuration parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestBody: content: multipart/form-data: schema: type: object description: Object contains 'file' property, which represents the file to be uploaded properties: file: type: string minLength: 100 maxLength: 30000 description: The file to upload. format: binary required: true x-permissions: - NERVE_DNA_SERVICE_OS:EDIT responses: '202': description: Service OS configuration applied successfully. content: application/json: schema: type: object description: Object with service OS configuration re-applied status message and tracking URI. additionalProperties: false properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Message describing the DNA configuration initiation operation minLength: 1 maxLength: 1000 tracking: type: string description: The URI for getting completion status of job pattern: ^\/nerve\/service-os-dna\/([A-Za-z]|\d){12}\/status$ minLength: 1 maxLength: 1000 required: - message - tracking examples: dna_configuration_initiated: value: message: Service OS DNA configuration initiated tracking: /nerve/service-os-dna/123456789012/status '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: error_upload_config_file: value: httpCode: '400' errorCode: nerve_dna_001 message: File upload failed. config_file_error: value: httpCode: '400' errorCode: nerve_dna_002 message: Payload not defined. continue_reconfiguration_not_supported: value: httpCode: '400' errorCode: nerve_dna_019 message: Only nodes with version 2.7.0 and greater can continue DNA reconfiguration. '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node is offline content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '409' errorCode: nerve_dna_011 message: The node with specified serial number is currently offline. '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. get: summary: Get target node configuration of Service OS DNA description: Used to get the target node configuration of Service OS DNA. operationId: dna_service_os_target_configuration tags: - SERVICE-OS-DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA:VIEW responses: '200': description: Successful operation content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The current Service OS DNA configuration minLength: 1 maxLength: 1000 format: binary headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The name of the file containing the current Service OS DNA configuration minLength: 1 maxLength: 1000 examples: current_configuration: value: attachment; filename="current-node-MARINAM12345-conf.yaml" target_configuration: value: attachment; filename="target-node-MARINAM12345-conf.yaml" '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node does not have node DNA capability content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_missing_node_dna_capability: value: httpCode: '409' errorCode: nerve_dna_033 message: Node DNA functionality is not supported on this node. No capability reported. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. /nerve/service-os-dna/{serialNumber}/status: get: tags: - SERVICE-OS-DNA summary: Get Service OS DNA configuration status description: 'Used to get the current status of Service OS DNA configuration. ' operationId: service_os_dna_configuration_status parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA:VIEW responses: '200': description: Successful operation content: application/json: schema: required: - message - status type: object properties: status: type: string description: The current state of Service OS DNA configuration enum: - APPLIED - INITIAL - UNDEFINED - RECONFIGURING - CANCELING - MODIFIED message: type: string minLength: 0 maxLength: 1000 pattern: ^.*$ description: The message describing configuration status description: The DNA configuration status info example: status: RECONFIGURING message: Configuration in progress. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node does not have node DNA capability content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_missing_node_dna_capability: value: httpCode: '409' errorCode: nerve_dna_033 message: Node DNA functionality is not supported on this node. No capability reported. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. /nerve/service-os-dna/{serialNumber}/target/cancel: patch: summary: Cancel Service OS DNA configuration in progress description: Used to cancel the Service OS DNA configuration operation which is in progress. operationId: cancel_service_os_dna_configuration tags: - SERVICE-OS-DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA_SERVICE_OS:EDIT responses: '202': description: The cancel request has been accepted for processing, but the processing is not yet complete. content: application/json: schema: type: object description: Response for Service OS DNA configuration cancellation additionalProperties: false properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Message describing the Service OS DNA configuration cancellation operation minLength: 1 maxLength: 1000 tracking: type: string description: The URI for getting completion status of job pattern: ^\/nerve\/service-os-dna\/([A-Za-z]|\d){12}\/status$ minLength: 1 maxLength: 1000 required: - message - tracking examples: dna_config_cancel_initiated: value: message: Service OS DNA configuration cancellation initiated tracking: /nerve/service-os-dna/123456789012/status '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: config_not_in_progress: value: httpCode: '400' errorCode: nerve_dna_007 message: Unable to complete cancel operation, because there is no configuration in-progress. '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node is offline content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '409' errorCode: nerve_dna_011 message: The node with specified serial number is currently offline. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. '504': description: The response did not received in time content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '504' errorCode: nerve_dna_012 message: The timeout for response message expired. /nerve/service-os-dna/{serialNumber}/current: get: summary: Get current Service OS DNA configuration description: Used to get the current Service OS DNA configuration. operationId: dna_service_os_current_configuration tags: - SERVICE-OS-DNA parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA:VIEW responses: '200': description: Successful operation content: application/octet-stream: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The current Service OS DNA configuration minLength: 1 maxLength: 1000 format: binary headers: Content-Disposition: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The name of the file containing the current Service OS DNA configuration minLength: 1 maxLength: 1000 examples: current_configuration: value: attachment; filename="current-node-MARINAM12345-conf.yaml" target_configuration: value: attachment; filename="target-node-MARINAM12345-conf.yaml" '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node does not have node DNA capability content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_missing_node_dna_capability: value: httpCode: '409' errorCode: nerve_dna_033 message: Node DNA functionality is not supported on this node. No capability reported. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. /nerve/service-os-dna/{serialNumber}/target/re-apply: put: tags: - SERVICE-OS-DNA summary: Re-apply target configuration description: Used to re-apply the target configuration which was previously uploaded to the node operationId: re_apply_service_os_dna_configuration parameters: - name: serialNumber in: path required: true description: The serial number of the node which was specified during onboarding into the Nerve Management System. schema: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} x-permissions: - NERVE_DNA_SERVICE_OS:EDIT responses: '202': description: Service OS configuration re-applied successfully. content: application/json: schema: type: object description: Object with service OS configuration re-applied status message and tracking URI. additionalProperties: false properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Message describing the DNA configuration initiation operation minLength: 1 maxLength: 1000 tracking: type: string description: The URI for getting completion status of job pattern: ^\/nerve\/service-os-dna\/([A-Za-z]|\d){12}\/status$ minLength: 1 maxLength: 1000 required: - message - tracking examples: dna_configuration_initiated: value: message: Service OS DNA configuration initiated tracking: /nerve/service-os-dna/123456789012/status '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: error_upload_config_file: value: httpCode: '400' errorCode: nerve_dna_001 message: File upload failed. config_file_error: value: httpCode: '400' errorCode: nerve_dna_002 message: Payload not defined. continue_reconfiguration_not_supported: value: httpCode: '400' errorCode: nerve_dna_019 message: Only nodes with version 2.7.0 and greater can continue DNA reconfiguration. '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: nerve_dna_003 httpCode: '401' message: You are not authorized. '403': description: You are missing permission to perform an action content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: missing_permission: value: errorCode: nerve_dna_004 httpCode: '403' message: You are missing permission. '404': description: The resource is not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '404' errorCode: nerve_dna_008 message: The node with specified serial number is not available. '409': description: The node does not have node DNA capability content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_missing_node_dna_capability: value: httpCode: '409' errorCode: nerve_dna_033 message: Node DNA functionality is not supported on this node. No capability reported. '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: unknown_error: value: httpCode: '500' errorCode: nerve_dna_006 message: Configuration operation failed for unknown reason. '504': description: The response did not received in time content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: node_not_available: value: httpCode: '504' errorCode: nerve_dna_012 message: The timeout for response message expired. /nerve/notifications/activeNoAuth: get: summary: get active notification without authentication operationId: notification_before_login security: [] tags: - NOTIFICATION description: 'Get information about active notification while user is still not logged in. Required permission: **GLOBAL:PUBLIC**' x-permissions: - GLOBAL:PUBLIC responses: '200': description: Information about active notification that should be shown in dialog. content: application/json: schema: type: object description: Details of the notification required: - headerText - textMessage - _id - active - showBeforeLogin - backgroundImage additionalProperties: false properties: active: type: boolean description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. default: false backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: boolean description: Represents whether notification should be shown before user has been logged in or after default: false textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 examples: active_before_login: value: textMessage: This is the example for notification message showBeforeLogin: true headerText: Example notification backgroundImage: /bf4fb1230cd366013e3fb4675c78ef18/bf4fb1230cd366013e3fb4675c78ef18.jpg active: true _id: 63f5f4cc3a2c7501e0e95f5f '204': description: There is no active notification that should be shown before user has been logged in. In this case, response doesn't have any content. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '500': description: Request failed, this is the response received when an MongoDB error occurred on the server side while trying to find some notification in the database content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_001 httpCode: '500' message: Database error. Please contact support for further assistance. /nerve/notifications/active: get: summary: get active notification with authentication operationId: notification_after_login tags: - NOTIFICATION description: 'Get information about active notification after user is logged in. Required permission: **GLOBAL:GENERAL**' x-permissions: - GLOBAL:GENERAL responses: '200': description: Information about active notification that should be shown in dialog. content: application/json: schema: type: object description: Details of the notification required: - headerText - textMessage - _id - active - showBeforeLogin - backgroundImage additionalProperties: false properties: active: type: boolean description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. default: false backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: boolean description: Represents whether notification should be shown before user has been logged in or after default: false textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 examples: active_after_login: value: textMessage: This is the example for notification message showBeforeLogin: false headerText: Example notification backgroundImage: /bf4fb1230cd366013e3fb4675c78ef18/bf4fb1230cd366013e3fb4675c78ef18.jpg active: true _id: 63f5f4cc3a2c7501e0e95f5f '204': description: There is no active notification that should be shown after user has been logged in. In this case, response doesn't have any content. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Request failed, this is the response received when an MongoDB error occurred on the server side while trying to find some notification in the database content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_001 httpCode: '500' message: Database error. Please contact support for further assistance. /nerve/notifications: get: summary: Get list of all notifications operationId: notification_list tags: - NOTIFICATION description: 'This method is called to fetch all notifications from database. Required permission: **NOTIFICATION:LIST**' parameters: - name: page in: query description: Page of results to be returned, according to number of items per page defined in limit parameter. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: limit in: query description: Number of items per page of results schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: filterBy in: query description: Define the "headerText" parameter for the filter as key-value pair. If not defined (empty object), no filter is set and all notifications will be returned. allowReserved: true schema: type: object properties: headerText: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Filter the list by notification title. minLength: 1 maxLength: 1000 additionalProperties: false examples: filter_by_name: summary: Filter a list of notifications by the "headerText" parameter. value: headerText: title x-permissions: - NOTIFICATION:LIST responses: '200': description: List of notifications that match the criteria. content: application/json: schema: type: object description: List of notifications from database required: - data - count additionalProperties: false properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: description: List of notification details type: array minItems: 0 maxItems: 1001 items: type: object required: - headerText - textMessage - _id - active additionalProperties: false properties: active: type: boolean description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. default: false backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: boolean description: Represents whether notification should be shown before user has been logged in or after default: false textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 examples: notification_list: value: count: 2 data: - textMessage: This is the example for notification message showBeforeLogin: false headerText: Example notification with background image backgroundImage: /bf4fb1230cd366013e3fb4675c78ef18/bf4fb1230cd366013e3fb4675c78ef18.jpg active: true _id: 63f5f4cc3a2c7501e0e95f5f - textMessage: This is the another example for notification message showBeforeLogin: false headerText: Example notification without background image backgroundImage: '' active: false _id: 63fcfcc7ae93210055fe0b59 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Request failed, this is the response received when an MongoDB error occurred on the server side while trying to find some notification in the database content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_001 httpCode: '500' message: Database error. Please contact support for further assistance. post: summary: Create new notification operationId: create_notification tags: - NOTIFICATION description: 'This method is called to create new notification. Required permission: **NOTIFICATION:CREATE**' requestBody: required: true description: For more details please refer to __add_edit_notification__ schema, globally defined at the end of this document. content: multipart/form-data: schema: additionalProperties: false type: object description: Request body for creating a new notification properties: image: description: Image file to be displayed in the notification. type: string format: binary minLength: 1 maxLength: 1000 active: type: string description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. enum: - 'true' - 'false' backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: string description: Represents whether notification should be shown before user has been logged in or after enum: - 'true' - 'false' textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ x-permissions: - NOTIFICATION:CREATE responses: '200': description: Newly created notification. content: application/json: schema: type: object description: Details of the notification required: - headerText - textMessage - _id - active - showBeforeLogin - backgroundImage additionalProperties: false properties: active: type: boolean description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. default: false backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: boolean description: Represents whether notification should be shown before user has been logged in or after default: false textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 examples: get_notification: value: textMessage: This is the example for notification message showBeforeLogin: false headerText: Example notification backgroundImage: /bf4fb1230cd366013e3fb4675c78ef18/bf4fb1230cd366013e3fb4675c78ef18.jpg active: false _id: 63f5f4cc3a2c7501e0e95f5f '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Request failed, this is the response received when an MongoDB error occurred on the server side while trying to find some notification in the database content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_001 httpCode: '500' message: Database error. Please contact support for further assistance. /nerve/notifications/{notification_id}: get: summary: Get one specific notification operationId: get_specific_notification tags: - NOTIFICATION description: 'Get details of one specific notification. Required permission: **NOTIFICATION:VIEW**' parameters: - name: notification_id in: path required: true description: Id of the specific notification schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - NOTIFICATION:VIEW responses: '200': description: The notification was successfully fetched. content: application/json: schema: type: object description: Details of the notification required: - headerText - textMessage - _id - active - showBeforeLogin - backgroundImage additionalProperties: false properties: active: type: boolean description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. default: false backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: boolean description: Represents whether notification should be shown before user has been logged in or after default: false textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 examples: get_notification: value: textMessage: This is the example for notification message showBeforeLogin: false headerText: Example notification backgroundImage: /bf4fb1230cd366013e3fb4675c78ef18/bf4fb1230cd366013e3fb4675c78ef18.jpg active: false _id: 63f5f4cc3a2c7501e0e95f5f '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: A notification with the specified ID was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_002 httpCode: '404' message: Notification you are looking for does not exist! '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_015 httpCode: '500' message: Unknown error delete: summary: Delete specific notification operationId: delete_specific_notification tags: - NOTIFICATION description: 'Delete one specific notification. Required permission: **NOTIFICATION:DELETE**' parameters: - name: notification_id in: path required: true description: Id of the specific notification schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - NOTIFICATION:DELETE responses: '204': description: No response content if notification is successfully deleted. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: A notification with the specified ID was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_002 httpCode: '404' message: Notification you are looking for does not exist! '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_015 httpCode: '500' message: Unknown error put: summary: Update specific notification operationId: update_specific_notification tags: - NOTIFICATION description: 'Update specific notification. Required permission: **NOTIFICATION:EDIT**' parameters: - name: notification_id in: path required: true description: Id of the specific notification schema: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 requestBody: description: For more details please refer to __add_edit_notification__ schema, globally defined at the end of this document. required: true content: multipart/form-data: schema: additionalProperties: false description: Request body for updating a specific notification type: object properties: image: description: Image file to be displayed in the notification. type: string format: binary minLength: 1 maxLength: 1000 active: type: string description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. enum: - 'true' - 'false' backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: string description: Represents whether notification should be shown before user has been logged in or after enum: - 'true' - 'false' textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 x-permissions: - NOTIFICATION:EDIT responses: '200': description: The notification was successfully updated. content: application/json: schema: type: object description: Details of the notification required: - headerText - textMessage - _id - active - showBeforeLogin - backgroundImage additionalProperties: false properties: active: type: boolean description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. default: false backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: boolean description: Represents whether notification should be shown before user has been logged in or after default: false textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 examples: get_notification: value: textMessage: This is the example for notification message showBeforeLogin: false headerText: Example notification backgroundImage: /bf4fb1230cd366013e3fb4675c78ef18/bf4fb1230cd366013e3fb4675c78ef18.jpg active: false _id: 63f5f4cc3a2c7501e0e95f5f '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: A notification with the specified ID was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_002 httpCode: '404' message: Notification you are looking for does not exist! '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Request failed, this is the response received when an unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_notification_015 httpCode: '500' message: Unknown error /nerve/capabilities/{capability_name_param}: get: summary: Fetch capability by name operationId: find_capability_by_name tags: - CAPABILITIES description: 'This method is called to get details of one specific capability by its names. Required permission: **GLOBAL:GENERAL**' parameters: - name: capability_name_param in: path required: true description: Name of the specific capability schema: type: string description: Name of the capability minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9 _.:+-]*$ x-permissions: - GLOBAL:GENERAL responses: '200': description: List of details of requested capabilities from db. content: application/json: schema: type: object description: Capability object as stored in the database additionalProperties: false required: - _id - name - description - parent properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 name: type: string description: Name of the capability minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9 _.:+-]*$ description: description: Description of the capability minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ parent: type: string description: Id of the parent capability anyOf: - pattern: ^[0-9a-fA-F]{24}$ minLength: 20 maxLength: 40 type: string - type: string example: '' pattern: ^$ minLength: 0 maxLength: 0 examples: get_capability_by_name: value: _id: 63298a272bc3c04b1ef7c488 name: Hypervisor description: '' parent: 63298a2782704f0038febe13 '400': description: Either request is invalid or there is some error while validating route parameters. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error text/html: schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Bad request minLength: 1 maxLength: 1000 examples: capability_bad_request: value: 400 Bad Request

400 Bad Request


nginx/1.20.2
'403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: A capability with the specified name was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: capability_not_found: value: errorCode: nerve_capabilities_001 httpCode: '404' message: Capability doesn't exist. /mqtt/auth: post: summary: Authentication of the MQTT client operationId: mqtt_auth tags: - EMQX security: [] description: Used to verify the identity of a client who attempts to connect to the MQTT broker(EMQX). x-internal: true requestBody: description: Required parameters to identify a client that attempts to connect to the MQTT broker (EMQX) required: true content: application/json: schema: type: object additionalProperties: false description: Request body for authenticating an MQTT client required: - clientid - username - password properties: clientid: description: Unique id which identifies a client that connects to the broker minLength: 1 maxLength: 1001 nullable: false type: string pattern: ^[\x20-\x7E\t\n\r]*$ username: description: Client username minLength: 1 maxLength: 1001 type: string pattern: ^[\x20-\x7E\t\n\r]*$ password: description: Client password minLength: 1 maxLength: 1001 type: string pattern: ^[\x20-\x7E\t\n\r]*$ initiator: description: Who made a request nullable: true minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: clientid: g-LOCALNODE021 username: LOCALNODE021 password: 7870ceb41a91f2e916aa06f628b325029a339d77 initiator: undefined x-permissions: - MQTT:ACCESS responses: '200': description: MQTT client successfully authenticated content: application/json: schema: type: object description: Response for successful authentication of an MQTT client additionalProperties: false required: - result - is_superuser properties: result: type: string description: Authentication result enum: - allow - deny is_superuser: type: boolean description: Indicates if the client is marked as a superuser default: false example: result: allow is_superuser: false '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '503': description: Request failed, this is the response received when the broker is not yet ready - some of resources have not been loaded. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: strat_emqtt_aacl_004 httpCode: '503' message: Connection is not possible - EMQX broker is not yet ready. /mqtt/acl: post: summary: Checks if MQTT client is authorized to publish and subscribe to a specific topic operationId: mqtt_acl tags: - EMQX security: [] description: Used to check if the client has permission to subscribe to or to publish messages on a specific topic. x-internal: true requestBody: description: Required parameters to verify if a MQTT client has a permission to subscribe/publish to a specific topic required: true content: application/json: schema: type: object description: Request body for authorizing an MQTT client action on a specific topic required: - clientid - action - topic additionalProperties: false properties: clientid: description: Unique id which identifies a client that connects to the broker minLength: 1 maxLength: 1001 nullable: false type: string pattern: ^[\x20-\x7E\t\n\r]*$ action: type: string description: The name of the action. enum: - subscribe - publish topic: description: The topic on which the client wants to subscribe to or to publish a message minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ initiator: description: Who made a request nullable: true minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: action: publish clientid: g-LOCALNODE000 topic: oblo/64175da8bd0fd097b9f6997c/gtw/LOCALNODE000/ovdm/evt initiator: undefined x-permissions: - MQTT:ACCESS responses: '200': description: MQTT client is authorized to subscribe/publish to a specific topic. content: application/json: schema: type: object description: Response for successful authorization of an MQTT client action on a specific topic additionalProperties: false required: - result properties: result: type: string description: Authorization result enum: - allow - deny example: result: allow '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error /mqtt/actions: post: summary: API for MQTT broker to notify Management system of client subscription operationId: mqtt_actions tags: - EMQX security: [] description: Used by MQTT broker(EMQX) to notify Management system that a client has subscribed to a specific topic x-internal: true requestBody: required: true content: application/json: schema: type: object description: Request body for notifying client subscription action additionalProperties: false required: - clientid - topic - event - qos properties: clientid: description: Unique id which identifies a client that connects to the broker minLength: 1 maxLength: 1001 nullable: false type: string pattern: ^[\x20-\x7E\t\n\r]*$ topic: description: The topic on which the client wants to subscribe to or to publish a message minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ event: description: Mqtt event (session.subscribed) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ qos: type: string description: Quality of service (QoS) level enum: - '0' - '1' - '2' initiator: description: Who made a request nullable: true minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: clientid: g-LOCALNODE000 event: session.subscribed topic: nerve/node/LOCALNODE000/ovdm/req qos: '0' initiator: undefined x-permissions: - MQTT:ACTION responses: '200': description: Successful operation content: text/html: schema: description: Response for successful processing of the client subscription action type: string enum: - Ignored - Ok '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '500': description: Request failed, this is the response received when something went wrong while processing a message. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: strat_emqtt_aacl_003 httpCode: '500' message: Something went wrong in a action triggered by mqtt client action. /nerve/usage-reports/single: get: summary: Retrieve single usage report description: Retrieve a single usage report for a specific month and year operationId: get_single_usage_report tags: - USAGE_REPORTS parameters: - name: month in: query required: true description: The month for which the usage report is requested example: August schema: type: string description: The month to which the usage report applies example: August enum: - January - February - March - April - May - June - July - August - September - October - November - December - name: year in: query required: true description: The year for which the usage report is requested example: '2024' schema: type: string pattern: ^[0-9]{4}$ minLength: 0 maxLength: 4 responses: '200': description: Successful operation. Selected usage report returned. content: application/json: schema: description: Usage report object containing the report details for single month type: object additionalProperties: false properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Name of the report file example: August_2024_usage_report.yaml minLength: 0 maxLength: 1001 relativePath: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The relative path where the report is stored example: nerve_usage/storage/usage_reports/August_2024_usage_report.yaml minLength: 0 maxLength: 1001 month: type: string description: The month to which the usage report applies example: August enum: - January - February - March - April - May - June - July - August - September - October - November - December year: type: string description: The year to which the usage report applies example: '2024' pattern: ^[0-9]{4}$ minLength: 0 maxLength: 4 dateOfReport: type: string description: Date when the report was generated format: date-time example: '2024-08-01T00:00:00.000Z' minLength: 0 maxLength: 24 isComplete: type: boolean description: Status indicating if the report is complete example: false _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 example: name: September_2024_usage_report.yaml relativePath: nerve_usage/storage/usage_reports/September_2024_usage_report.yaml month: September year: '2024' dateOfReport: '2024-09-01T00:00:00.000Z' isComplete: false _id: 66daa628a66040a284c1b4e5 '400': description: Error response when generating the usage report failed content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: usage_report_001 httpCode: '400' message: Something went wrong during usage report generation. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Error response when generating the usage report failed because date can not be retrieved. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: usage_report_007 httpCode: '500' message: Can't retrieve date when instance is spawned. /nerve/usage-reports: get: summary: Retrieve usage reports description: List all available usage reports or filter them by search term or filter criteria operationId: get_usage_reports tags: - USAGE_REPORTS parameters: - name: search in: query required: false description: Search term for filtering usage reports schema: description: Number of items in result set when searching is applied type: string default: '' minLength: 0 maxLength: 1000 pattern: ^[\x20-\x7E\t\n\r]*$ - name: filter in: query required: false description: JSON-encoded filter criteria for usage reports schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 description: Search term for filtering usage reports responses: '200': description: Successful operation. List of usage reports returned. content: application/json: schema: description: List of usage reports returned. type: object additionalProperties: false properties: data: description: List of usage reports type: array minItems: 0 maxItems: 1001 items: description: Usage report object containing the report details for single month type: object additionalProperties: false properties: name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Name of the report file example: August_2024_usage_report.yaml minLength: 0 maxLength: 1001 relativePath: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The relative path where the report is stored example: nerve_usage/storage/usage_reports/August_2024_usage_report.yaml minLength: 0 maxLength: 1001 month: type: string description: The month to which the usage report applies example: August enum: - January - February - March - April - May - June - July - August - September - October - November - December year: type: string description: The year to which the usage report applies example: '2024' pattern: ^[0-9]{4}$ minLength: 0 maxLength: 4 dateOfReport: type: string description: Date when the report was generated format: date-time example: '2024-08-01T00:00:00.000Z' minLength: 0 maxLength: 24 isComplete: type: boolean description: Status indicating if the report is complete example: false _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 example: name: September_2024_usage_report.yaml relativePath: nerve_usage/storage/usage_reports/September_2024_usage_report.yaml month: September year: '2024' dateOfReport: '2024-09-01T00:00:00.000Z' isComplete: false _id: 66daa628a66040a284c1b4e5 example: data: - name: August_2024_usage_report.yaml relativePath: nerve_usage/storage/usage_reports/August_2024_usage_report.yaml month: August year: '2024' dateOfReport: '2024-08-01T00:00:00.000Z' isComplete: false _id: 66c87a4a509470041120e137 - name: September_2024_usage_report.yaml relativePath: nerve_usage/storage/usage_reports/September_2024_usage_report.yaml month: September year: '2024' dateOfReport: '2024-08-01T00:00:00.000Z' isComplete: false _id: 66c87a4a509470041120e138 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/usage-reports/configuration: get: summary: Retrieve usage reports configuration description: Get the current configuration of Usage Reports operationId: get_configuration tags: - USAGE_REPORTS responses: '200': description: Get the current configuration of Usage Reports content: application/json: schema: description: The current configuration of Usage Reports type: object properties: tttechEmail: description: The email address to notify TTTech type: string format: email example: nerve-billing@tttech-industrial.com pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 gpgPublicKey: description: The GPG public key to encrypt the email type: string example: '-----BEGIN PGP PUBLIC KEY BLOCK--' pattern: ^[\s\S]*$ minLength: 0 maxLength: 1001 notifyTTTech: description: Should TTTech be notified type: boolean example: true example: tttechEmail: nerve-billing@tttech-industrial.com gpgPublicKey: '-----BEGIN PGP PUBLIC KEY BLOCK--' '400': description: Error response when updating usage report configuration content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: usage_report_005 httpCode: '400' message: Something went wrong during configuration parameters update. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized post: summary: Update Usage Reports Configuration description: Update the configuration of Usage Reports operationId: update_configuration tags: - USAGE_REPORTS requestBody: required: true content: application/json: schema: description: The updated configuration of Usage Reports type: object additionalProperties: false required: - notifyTTTech properties: notifyTTTech: description: Should TTTech be notified type: boolean example: true responses: '200': description: Update the configuration of Usage Reports content: application/json: schema: description: The updated configuration of Usage Reports type: object additionalProperties: false properties: updated: description: The configuration was updated type: boolean example: true example: updated: true '400': description: Error response when updating usage report configuration content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: usage_report_005 httpCode: '400' message: Something went wrong during configuration parameters update. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/remote-connections/connect: post: summary: Connect remote connections operationId: connect_remote_connections tags: - REMOTE_CONNECTIONS description: Used to establish remote connections defined in body. requestBody: content: application/json: schema: description: Object containing data about remote connection which should be established. type: object additionalProperties: false required: - acknowledgment - name - port - serialNumber - type - versionId - workloadId - _id - uniqueConnectionRequestNo properties: acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' connection: description: Remote screen type type: string enum: - VNC - SSH - RDP name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} type: description: The type of remote connection type: string enum: - TUNNEL - SCREEN versionId: oneOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ workloadId: oneOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object uniqueConnectionRequestNo: description: Remote connection unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ examples: screen_on_node: value: acknowledgment: 'Yes' connection: VNC name: screen node vnc port: 5900 serialNumber: MARINAM12345 type: SCREEN versionId: '' workloadId: '' _id: 66e727bc2b5aaf9be9bea769 uniqueConnectionRequestNo: 9f0e0ef0-7402-11ef-bf05-a1acbd98ce10 tunnel_on_node: value: acknowledgment: 'No' name: tunnel node port: 1134 serialNumber: MARINAM12345 type: TUNNEL versionId: '' workloadId: '' _id: 66e727bc2b5aaf9be9bea769 uniqueConnectionRequestNo: 9f0e0ef0-7402-11ef-bf05-a1acbd98ce10 tunnel_on_wl: value: acknowledgment: 'No' name: tunnel node port: 1134 serialNumber: MARINAM12345 type: TUNNEL versionId: 66b323e6b59fc012ffd9eebd workloadId: 66b323e6b59fc012ffd9eeb4 _id: 66c7313fb0358b55c8c7d486 uniqueConnectionRequestNo: bac60170-7402-11ef-bf05-a1acbd98ce10 required: true x-permissions: - REMOTE_CONN:CONNECT responses: '200': description: Connection successfully established. content: application/json: schema: anyOf: - type: object description: Response object containing details of remote connection that is already active on the system or just requestUid if connection is not active. required: - requestUid properties: connected: description: Indicates weather remote connection is active or not. type: boolean requestId: description: Remote connection unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ requestUid: description: Remote connection unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ type: description: The type of remote connection type: string enum: - TUNNEL - SCREEN url: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: request url for opening Nerve Connection Manager to active tunnel. minLength: 0 maxLength: 1001 expiresAt: description: The date indicating when the session of the remote connection will expire. type: string format: date-time minLength: 8 maxLength: 30 - type: object description: Response object in case there is some error while trying to establish remote connection. required: - requestUid - error properties: requestUid: description: Remote connection unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ error: description: Error message and code type: object required: - code - message properties: code: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Error message in English. minLength: 5 maxLength: 512 examples: connected_successfully: value: requestUid: 840a6990-7408-11ef-9596-5da4601f695f expiresAt: '2024-09-17T10:49:49.481Z' connected_successfully_rc_already_active: value: requestId: e5a1e04f-726e-4f4b-83b1-218bfc41e76e type: TUNNEL url: nerverm://docker-test.dev.nerve.cloud/66e7e746096ce88e5ab15c9a/840a6990-7408-11ef-9596-5da4601f695f connected: true requestUid: 840a6990-7408-11ef-9596-5da4601f695f expiresAt: '2024-09-17T10:49:49.481Z' rc_not_found: value: requestUid: 26dba360-740d-11ef-af07-a1973757c259 error: code: 862 message: Remote connection you are looking for does not exist! '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '409': description: Maximum number of remote connection requests exceeded content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_remote_connection_18 httpCode: '409' message: You have exceeded the maximum number of remote connection requests allowed '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/active-remote-connections: get: summary: Get list of active remote connections operationId: get_list_of_active_remote_connections tags: - REMOTE_CONNECTIONS description: Method is used to get list of active remote connections parameters: - name: limit in: query description: Number of items per page of result. schema: description: Number of items in result set when paging is applied type: integer format: int32 default: 10 minimum: 1 maximum: 500 - name: page in: query description: Page of results to be returned, according to number of items per page defined in limit parameter. schema: description: Page (zero indexed) of results to get from backend type: integer format: int32 default: 0 minimum: 0 maximum: 1000 - name: order in: query description: Order by connection name, time of creation, node name, serial number of node, acknowledgment, target or user that established connection. allowReserved: true schema: type: string description: Sort by connection, creation, node, serialNumber, acknowledgment, target or user in descending or ascending order. enum: - '{"connection":"desc"}' - '{"connection":"asc"}' - '{"created":"desc"}' - '{"created":"asc"}' - '{"node":"desc"}' - '{"node":"asc"}' - '{"serialNumber":"desc"}' - '{"serialNumber":"asc"}' - '{"acknowledgment":"desc"}' - '{"acknowledgment":"asc"}' - '{"target":"desc"}' - '{"target":"asc"}' - '{"user":"desc"}' - '{"user":"asc"}' - '{"expiresAt":"desc"}' - '{"expiresAt":"asc"}' - name: type in: query description: Apply filtering by remote connection type (tunnel, screen) allowReserved: true schema: type: string enum: - '' - tunnel - screen - name: search in: query description: Searching remote connections by name. required: false schema: type: string minLength: 0 maxLength: 1001 pattern: ^(?:$|(?=.*[^ ].*)([^\u0000-\u001f\u007f-\u009f]*))$ x-permissions: - REMOTE_CONN:LIST responses: '200': description: Request successful. Object containing count and list of active remote connections returned. content: application/json: schema: type: object description: Count of all established remote connections and object containing the list of specific active remote connections depending on the query parameters. required: - count - data properties: count: type: integer format: int32 minimum: 0 maximum: 1000000 description: Number of results data: description: List of active remote connections type: array minItems: 0 maxItems: 1001 items: type: object description: Remote connection and connection request basic information. additionalProperties: false required: - _id - name - connection - connectionRequest properties: _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 connection: anyOf: - allOf: - type: object description: Basic information about an active remote connection required: - _id - serialNumber - target - nodeStatus - connectionUid - acknowledgment properties: _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} target: type: object description: Object containing basic information about target to which remote connection is being established. required: - workloadOrHostname - workloadVersion - workloadId - versionId - _id properties: workloadOrHostname: oneOf: - type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ - type: string description: Workload name and port minLength: 1 maxLength: 46 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) workloadVersion: oneOf: - type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ nodeName: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ nodeId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object workloadId: oneOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ versionId: oneOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object nodeStatus: description: Status if the node connection to MS enum: - online - offline connectionUid: description: Remote connection unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' - type: object properties: connection: description: Remote screen type type: string enum: - VNC - SSH - RDP guacamoleConnectionId: description: Guacamole connection id type: number type: description: The type of remote connection type: string enum: - SCREEN required: - type - connection - allOf: - type: object description: Basic information about an active remote connection required: - _id - serialNumber - target - nodeStatus - connectionUid - acknowledgment properties: _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} target: type: object description: Object containing basic information about target to which remote connection is being established. required: - workloadOrHostname - workloadVersion - workloadId - versionId - _id properties: workloadOrHostname: oneOf: - type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ - type: string description: Workload name and port minLength: 1 maxLength: 46 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) workloadVersion: oneOf: - type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ nodeName: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ nodeId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object workloadId: oneOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ versionId: oneOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object nodeStatus: description: Status if the node connection to MS enum: - online - offline connectionUid: description: Remote connection unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' - type: object properties: type: description: The type of remote connection type: string enum: - TUNNEL required: - type - localPort connectionRequest: type: object description: Object containing basic information about connection request. additionalProperties: false required: - _id - requestUid - requestedBy - userId - created properties: _id: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object requestUid: description: Remote connection request unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ requestedBy: description: User who established remote connection. type: string minLength: 5 maxLength: 81 pattern: ^(?![\u0000-\u001f\u007f-\u009f])\S.*$ userId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object created: description: The date and the time indicating when the remote connection was established. type: string format: date-time minLength: 8 maxLength: 30 guacamoleAuthToken: description: Guacamole auth-token type: string minLength: 64 maxLength: 64 pattern: ^[A-Fa-f0-9]{64}$ expiresAt: description: The date indicating when the session of the remote connection will expire. type: string format: date-time minLength: 8 maxLength: 30 example: count: 2 data: - _id: 66c7313fb0358b55c8c7d486 name: tunnel compose connection: _id: 66e950bd3b774213a4875fd6 serialNumber: MARINAM12345 target: workloadOrHostname: compose-test:1233 workloadVersion: compose nodeName: local_node nodeId: 66d5aafb348eb15040b3ccf3 workloadId: 66b323e6b59fc012ffd9eeb4 versionId: 66b323e6b59fc012ffd9eebd _id: 66e950bd3b774213a4875fd7 nodeStatus: online connectionUid: a5fa125a-feeb-4aa5-b80b-babb36e63adf type: TUNNEL localPort: 1235 acknowledgment: 'No' connectionRequest: _id: 66e950bd3b774213a4875fd8 requestUid: 2df777a0-74da-11ef-9b81-e1b8e97fd977 requestedBy: Marina Markovic userId: 6694e636279bd8528e81dec1 created: '2024-09-17T09:49:49.481Z' expiresAt: '2024-09-17T10:49:49.481Z' - _id: 66e727bc2b5aaf9be9bea769 name: screen node vnc connection: _id: 66e950af3b774213a4875f9b serialNumber: MARINAM12345 guacamoleConnectionId: 130 target: workloadOrHostname: localhost:5900 workloadVersion: '' nodeName: local_node nodeId: 66d5aafb348eb15040b3ccf3 workloadId: '' versionId: '' _id: 66e950af3b774213a4875f9c nodeStatus: online connectionUid: 01db25e5-65bb-4e22-b1e2-84421c165084 type: SCREEN connection: VNC localPort: 0 acknowledgment: 'Yes' connectionRequest: _id: 66e950af3b774213a4875f9d requestUid: 25a94ec0-74da-11ef-9b81-e1b8e97fd977 requestedBy: Marina Markovic userId: 6694e636279bd8528e81dec1 guacamoleAuthToken: 460908EAEB5EEDC4B72BBCABCFC2168F54EF0A55C8CFF404900912FC5DDD6145 created: '2024-09-17T09:49:35.565Z' expiresAt: '2024-09-17T10:49:35.565Z' '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/active-remote-connections/terminate-connections: post: summary: Terminate active remote connections operationId: terminate_remote_connections tags: - REMOTE_CONNECTIONS description: Used to terminate active remote connections defined in body. requestBody: content: application/json: schema: type: object description: Object that contains list of active remote connections to be terminated. required: - rcList additionalProperties: false properties: rcList: description: List of active remote connections to be terminated. type: array minItems: 1 maxItems: 1001 items: type: object additionalProperties: false required: - serialNumber - connectionName properties: workloadId: oneOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ versionId: oneOf: - description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} connectionName: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 connectionRequestUid: description: Active remote connection unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ connectionUid: description: Remote connection unique identifier. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ type: description: The type of remote connection type: string enum: - TUNNEL - SCREEN example: rcList: - workloadId: '' versionId: '' serialNumber: '000000000001' connectionName: test required: true x-permissions: - REMOTE_CONN:TERMINATE responses: '200': description: Termination of the specified remote connections has been initiated successfully. content: application/json: schema: type: object description: Object containing message that states operation has been initiated. required: - message properties: message: type: string description: Message that states operation has been initiated. enum: - Operation has been initiated example: message: Operation has been initiated '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Remote connection with provided uuid was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: 000862 httpCode: '404' message: Remote connection you are looking for does not exist! '500': description: Server error occurred while trying to cancel pending approval. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: 000879 httpCode: '500' message: Something went wrong while terminating! /nerve/active-remote-connections/cancel-connection-approval/{connectionRequestUid}: delete: summary: Cancel pending approval of specific remote connection operationId: cancel_rc_approval tags: - REMOTE_CONNECTIONS description: Used to cancel pending approval request for specific remote connection referenced by connectionRequestUid. parameters: - name: connectionRequestUid in: path required: true description: Active remote connection unique identifier. schema: description: Randomly generated uuid using uuidv4 library type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ x-permissions: - REMOTE_CONN:CREATE responses: '204': description: The remote connection approval request was successfully cancelled. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Remote connection with provided uuid was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: 000862 httpCode: '404' message: Remote connection you are looking for does not exist! '500': description: Server error occurred while trying to cancel pending approval. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: 000880 httpCode: '500' message: Something went wrong with canceling connection /nerve/guacamole-connection-tab/{authToken}/{identifier}: post: summary: Guacamole tab status operationId: guacamole_tab_status tags: - REMOTE_CONNECTIONS description: Guacamole tab status parameters: - name: authToken in: path required: true description: Guacamole auth-token schema: type: string minLength: 64 maxLength: 64 pattern: ^[A-Fa-f0-9]{64}$ - name: identifier in: path required: true description: Guacamole connection id schema: type: string minLength: 1 maxLength: 1001 pattern: ^\d+$ requestBody: content: application/json: schema: type: object description: Object containing property "active" which indicates if Guacamole tab is opened. properties: active: description: Indicates weather Guacamole tab is opened or not. type: boolean required: true x-permissions: - REMOTE_CONN:CREATE responses: '200': description: The guacamole tab status successfully sent, tab is active. content: application/json: schema: type: object description: Object containing device name and remote connection name is returned. additionalProperties: false properties: name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 deviceName: anyOf: - type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) - type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ example: name: screen node vnc deviceName: local_node '204': description: The guacamole tab status successfully sent, tab is not active. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Active remote connection with provided id was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: 000881 httpCode: '404' message: Active remote connection you are looking for does not exist! '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/v2/active-remote-connections/tunnel/{activeConnectionId}/{requestUid}/{generateSessionId}: get: summary: Get active connection by id and rtem-session if it is required operationId: get_active_rc tags: - REMOTE_CONNECTIONS x-internal: true security: - bearerAuth: [] description: Used to get an active connection by id(referenced by activeConnectionId and requestUid) and rtem-session, if it is required(generateSessionId). parameters: - name: activeConnectionId in: path required: true description: Active remote connection id. schema: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object - name: requestUid in: path required: true description: Active remote connection unique identifier. schema: description: Randomly generated uuid using uuidv4 library type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ - name: generateSessionId in: path required: true description: Flag that indicates weather rtem-session should be created or not. schema: type: boolean x-permissions: - GLOBAL:PUBLIC responses: '200': description: Returns object containing information about active remote connection and rtem-session if one was created. content: application/json: schema: type: object description: Object containing information about active connection and rtem-session if it is created. additionalProperties: false required: - connection - tunnelTypes properties: connection: type: object description: Information about specific active connection. additionalProperties: false properties: name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} nodeStatus: description: Status if the node connection to MS enum: - online - offline credentials: type: object description: Credentials for chisel authentication required: - username - password properties: username: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Username for chisel authentication minLength: 1 maxLength: 1001 password: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Password for chisel authentication minLength: 1 maxLength: 1001 ports: type: object description: Information about ports relevant to the active remote connection. additionalProperties: false required: - localPort - remotePort - cloudPort properties: localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel remotePort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) cloudPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the cloud to which connection is established target: type: object description: Information about target on which remote connection is established. additionalProperties: false required: - workloadOrHostname - workloadVersion - nodeName properties: workloadId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 versionId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 workloadOrHostname: oneOf: - type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ - type: string description: Workload name and port minLength: 1 maxLength: 46 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) workloadVersion: oneOf: - type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) - type: string description: Empty string enum: - '' minLength: 0 maxLength: 0 pattern: ^$ nodeName: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ workloadType: type: string description: 'Specifies the workload on which the connection is established. Applicable only to remote connections created on workloads. ' enum: - docker - vm - codesys - docker-compose internalDockerRegistry: description: 'Indicates whether the workload uses the internal Docker Registry as its Docker image source. Applicable only to remote connections created on workloads. ' type: boolean requestUid: description: Randomly generated uuid using uuidv4 library type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ expiresAt: description: The date indicating when the session of the remote connection will expire. type: string format: date-time minLength: 8 maxLength: 30 connectionId: description: ID (from Management System) of the entry. Can be a string or an object. oneOf: - description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object rtemSessionId: description: Randomly generated uuid using uuidv4 library type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ rtemSessionDurationAfterConnectionLost: type: number description: How long the session is valid after RTEM lost connection to the broker (in seconds). minimum: 1 tunnelTypes: type: array minItems: 2 maxItems: 2 description: Tunnel types supported by MS items: type: string enum: - chisel - wstunnel example: connection: name: tunnel node serialNumber: MARINAM12345 nodeStatus: online credentials: username: ijdfx9yl8s password: n1xzx0j6rzh ports: localPort: 1235 remotePort: 1233 cloudPort: 6003 target: workloadId: 62a880c1520c4c0038ca45d1 versionId: 62a880dc520c4c0038ca45d3 workloadOrHostname: compose-test:1233 workloadVersion: compose nodeName: local_node requestUid: 3dce0340-7428-11ef-b583-a3081b607a1a expiresAt: '2024-02-01T12:34:56.789Z' connectionId: 66e826350d3f97067ab2c0e5 rtemSessionId: 44d8e49f-545f-4767-bc1c-6be3f581b2eb rtemSessionDurationAfterConnectionLost: 3600 tunnelTypes: - chisel - wstunnel '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Active remote connection with provided id was not found. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: 000881 httpCode: '404' message: Active remote connection you are looking for does not exist! '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/v2/remote-connections-file/{target}/validate: post: summary: Validate remote connection yaml file on node or workload operationId: validate_remote_connection_file tags: - REMOTE_CONNECTIONS description: Method is used to validate remote connection yaml file parameters: - name: target in: path description: Description of the target to which remote connections will be imported. required: true schema: type: string description: Target to which remote connections will be imported. enum: - node - vm - docker - docker-compose - codesys requestBody: required: true content: multipart/form-data: schema: additionalProperties: false type: object description: Object contains 'file' property, which represents the file to be uploaded properties: file: type: string description: File to be uploaded format: binary minLength: 1 maxLength: 1000 x-permissions: - REMOTE_CONN:EDIT responses: '200': description: List of imported remote connections if all connections are valid. content: application/json: schema: type: object description: Object containing list of imported remote connections. additionalProperties: false required: - remoteConnections properties: remoteConnections: type: array description: List of imported remote connections. minItems: 0 maxItems: 1001 items: anyOf: - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote tunnel connection. Remote tunnel connection is connection that is established between local workstation and the target. For those connections Nerve Connection Manager application MUST be installed on local workstation. required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - description: Remote screen connection - type VNC allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type SSH allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen connection - type RDP allOf: - anyOf: - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object description: An object containing data about remote screen connection. Remote screen connection is the connection that is established between Management System and a target(node or deployed workload). Those connections are based on Guacamole. required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls example: remoteConnections: - hostname: 172.20.2.1 privateKey: '' password: '' username: '' connection: SSH swapRedBlue: false readOnly: false cursor: '' autoretry: 1 numberOfConnections: 1 port: 22 acknowledgment: 'No' type: SCREEN name: screen node ssh - hostname: 172.20.2.1 localPort: 1233 port: 1233 acknowledgment: 'No' type: TUNNEL name: tunnel node '400': description: Request failed, this is the response received when provided file has wrong extension. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' message: Wrong file extension, allowed extensions are .yaml or .yml '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '415': description: Unsupported media type content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '415' message: Route params validation error '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_dna_006 message: Operation failed for unknown reason. /nerve/data-exchange/cached-data: post: summary: Retrieve cached data from the Cloud server operationId: get_cached_data description: Returns the retrieved node data values tags: - DATA EXCHANGE requestBody: required: true content: application/json: schema: type: object description: Data parameters to retrieve cached data required: - dataId - serialNumber - fromNodeIfCacheEmpty additionalProperties: false properties: dataId: example: wan_ip_address type: string description: Unique string that identifies data that we want to listen to minLength: 2 maxLength: 129 pattern: ^[a-zA-Z0-9_-]+$ serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} fromNodeIfCacheEmpty: type: boolean description: If there is no such data in cache, get it from Node, refresh cache and return it example: true x-permissions: - NODE:VIEW responses: '200': description: Successfully retrieved node data content: application/json: schema: type: object description: Data retrieved from the node additionalProperties: false properties: values: type: object description: Object containing the retrieved values properties: ip_address: type: string description: The IP address value minLength: 0 maxLength: 255 pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} serial: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} fromCache: type: boolean description: Whether the data was retrieved from the cache dataId: type: string description: Unique string that identifies data that we want to listen to minLength: 2 maxLength: 129 pattern: ^[a-zA-Z0-9_-]+$ timestamp: type: integer format: int64 description: Timestamp when the data was retrieved minimum: 0 maximum: 4102444800000 example: dataId: wan_ip_address values: ip_address: 10.85.10.63 serial: NB1000000011 timestamp: 1719998925413 fromCache: true '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with this serial number does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000850 httpCode: '404' message: Node with this serial number does not exist '409': description: Node can not provide data content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000853 httpCode: '409' message: Node can not provide data /nerve/data-exchange/node-data: post: summary: Retrieve node data from the Cloud server operationId: get_node_data description: Fetches node data values from the Cloud server, providing details about the workloads deployed on the node. tags: - DATA EXCHANGE requestBody: required: true content: application/json: schema: type: object description: Data parameters to retrieve node data required: - dataId - data - serialNumber - requestConfig additionalProperties: false properties: data: oneOf: - type: integer format: int32 description: Id of the deployed workload minimum: 100 maximum: 1000 - type: object description: Object containing the container name properties: containerName: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ dataId: type: string description: Unique string that identifies data that we want to listen to minLength: 2 maxLength: 129 pattern: ^[a-zA-Z0-9_-]+$ example: workloads serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} requestConfig: type: object description: Configuration parameters for the request required: - forceRequest - timeout properties: forceRequest: type: boolean description: Whether to force the request to the node example: false timeout: type: integer format: int32 description: How long to wait for data from Node before returning cached data minimum: 0 example: 2000 maximum: 86400000 forceRequestNoCacheUpdate: type: boolean description: Whether to force the request without updating the cache example: false x-permissions: - NODE:VIEW responses: '200': description: Successfully retrieved node data content: application/json: schema: description: Data retrieved from the node anyOf: - type: object properties: values: type: object description: Object containing the retrieved values anyOf: - description: Payload of the docker workload allOf: - type: object description: Basic payload of the workload required: - workloadId - status - name - type - statusChangedTimestamp - workloadVersionName properties: workloadId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 versionId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: type: string description: Status of workload in queue enum: - New - Reserved - Queued - Downloading - Downloaded - Installed - Removing - Removing_failed name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose statusChangedTimestamp: type: integer format: int64 description: Time when state of the workload has changed in milliseconds. minimum: 0 maximum: 4102444800000 workloadVersionName: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deployTime: type: integer format: int64 description: Time when workload has been deployed in milliseconds. minimum: 0 maximum: 4102444800000 wiseDeviceStatus: type: integer format: int32 description: 'Status of deployed workload - 0 *IDLE* - 1 *CREATING* - 2 *REMOVING* - 3 *SUSPENDING* - 4 *SUSPENDED* - 5 *STARTING* - 6 *RESTARTING* - 7 *RESUMING* - 8 *STARTED* - 9 *STOPPING* - 10 *STOPPED* - 11 *ERROR* - 12 *REMOVING_FAILED* - 13 *PARTIALLY_RUNNING* ' minimum: 0 maximum: 13 deviceId: type: integer format: int32 description: Id of the deployed workload minimum: 100 maximum: 1000 - type: object required: - envVars - ports properties: envVars: description: List of docker environment variables type: array minItems: 0 maxItems: 1001 items: type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_]+= minLength: 1 maxLength: 1000 ports: type: array description: A list of port mappings minItems: 0 maxItems: 1001 items: type: object description: Mapping a container port to a port on the Docker host to the outside world. required: - protocol - hostPort - containerPort additionalProperties: false properties: protocol: type: string description: The protocol used for the port mapping, either TCP or UDP enum: - tcp - udp hostPort: type: string pattern: ^\d+$ minLength: 1 maxLength: 5 description: The port number on the host machine that is mapped to the container's port containerPort: type: string pattern: ^\d+$ minLength: 1 maxLength: 5 description: The port number inside the Docker container that is being exposed resources: type: object description: Current and original values of defined cpu and memory limits additionalProperties: false properties: cpu: type: object description: Object containing the current and original values of defined CPU properties: current: description: Current values of defined CPU anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 originally: description: Original values of defined CPU anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: type: object description: Object containing the current and original values of defined memory properties: current: description: Current values of defined memory type: integer format: int64 minimum: 100000000 maximum: 20000000000 originally: description: Original values of defined memory type: integer format: int64 minimum: 100000000 maximum: 20000000000 - description: Payload of the codesys workload type: object required: - workloadId - status - name - type - statusChangedTimestamp - workloadVersionName properties: workloadId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 versionId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: type: string description: Status of workload in queue enum: - New - Reserved - Queued - Downloading - Downloaded - Installed - Removing - Removing_failed name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose statusChangedTimestamp: type: integer format: int64 description: Time when state of the workload has changed in milliseconds. minimum: 0 maximum: 4102444800000 workloadVersionName: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deployTime: type: integer format: int64 description: Time when workload has been deployed in milliseconds. minimum: 0 maximum: 4102444800000 wiseDeviceStatus: type: integer format: int32 description: 'Status of deployed workload - 0 *IDLE* - 1 *CREATING* - 2 *REMOVING* - 3 *SUSPENDING* - 4 *SUSPENDED* - 5 *STARTING* - 6 *RESTARTING* - 7 *RESUMING* - 8 *STARTED* - 9 *STOPPING* - 10 *STOPPED* - 11 *ERROR* - 12 *REMOVING_FAILED* - 13 *PARTIALLY_RUNNING* ' minimum: 0 maximum: 13 deviceId: type: integer format: int32 description: Id of the deployed workload minimum: 100 maximum: 1000 - description: Payload of the vm workload allOf: - type: object description: Basic payload of the workload required: - workloadId - status - name - type - statusChangedTimestamp - workloadVersionName properties: workloadId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 versionId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: type: string description: Status of workload in queue enum: - New - Reserved - Queued - Downloading - Downloaded - Installed - Removing - Removing_failed name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose statusChangedTimestamp: type: integer format: int64 description: Time when state of the workload has changed in milliseconds. minimum: 0 maximum: 4102444800000 workloadVersionName: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deployTime: type: integer format: int64 description: Time when workload has been deployed in milliseconds. minimum: 0 maximum: 4102444800000 wiseDeviceStatus: type: integer format: int32 description: 'Status of deployed workload - 0 *IDLE* - 1 *CREATING* - 2 *REMOVING* - 3 *SUSPENDING* - 4 *SUSPENDED* - 5 *STARTING* - 6 *RESTARTING* - 7 *RESUMING* - 8 *STARTED* - 9 *STOPPING* - 10 *STOPPED* - 11 *ERROR* - 12 *REMOVING_FAILED* - 13 *PARTIALLY_RUNNING* ' minimum: 0 maximum: 13 deviceId: type: integer format: int32 description: Id of the deployed workload minimum: 100 maximum: 1000 - type: object required: - resources properties: resources: type: object description: Current and original values of defined cpu and memory limits additionalProperties: false properties: cpu: type: object description: Object containing the current and original values of defined CPU properties: current: description: Current values of defined CPU anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 originally: description: Original values of defined CPU anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: type: object description: Object containing the current and original values of defined memory properties: current: description: Current values of defined memory type: integer format: int64 minimum: 100000000 maximum: 20000000000 originally: description: Original values of defined memory type: integer format: int64 minimum: 100000000 maximum: 20000000000 - description: Payload of the compose workload allOf: - type: object description: Basic payload of the workload required: - workloadId - status - name - type - statusChangedTimestamp - workloadVersionName properties: workloadId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 versionId: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 status: type: string description: Status of workload in queue enum: - New - Reserved - Queued - Downloading - Downloaded - Installed - Removing - Removing_failed name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) type: description: Workload type type: string enum: - docker - vm - codesys - docker-compose statusChangedTimestamp: type: integer format: int64 description: Time when state of the workload has changed in milliseconds. minimum: 0 maximum: 4102444800000 workloadVersionName: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) deployTime: type: integer format: int64 description: Time when workload has been deployed in milliseconds. minimum: 0 maximum: 4102444800000 wiseDeviceStatus: type: integer format: int32 description: 'Status of deployed workload - 0 *IDLE* - 1 *CREATING* - 2 *REMOVING* - 3 *SUSPENDING* - 4 *SUSPENDED* - 5 *STARTING* - 6 *RESTARTING* - 7 *RESUMING* - 8 *STARTED* - 9 *STOPPING* - 10 *STOPPED* - 11 *ERROR* - 12 *REMOVING_FAILED* - 13 *PARTIALLY_RUNNING* ' minimum: 0 maximum: 13 deviceId: type: integer format: int32 description: Id of the deployed workload minimum: 100 maximum: 1000 - type: object required: - servicesInformation - configurationUpdateInfo properties: servicesInformation: type: array description: Information about services defined within compose workload minItems: 1 maxItems: 1001 items: type: object required: - containerName - state - message - timestamp properties: containerName: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ state: type: integer format: int32 description: Status enumeration that corresponds to the state of individual containers in compose workload minimum: 0 maximum: 12 message: type: string description: message describing state of individual containers enum: - container_running - container_created - container_restarting - container_paused - container_exited - container_dead - container_starting - container_stopping - container_pausing - container_resuming timestamp: description: Timestamp of the last state change in Unix epoch format type: integer format: int64 minimum: 0 maximum: 4102444800000 configurationUpdateInfo: type: array minItems: 0 maxItems: 1001 description: List of configuration storages items: type: object description: Configuration storage information for docker workload required: - restartOnConfigurationUpdate - path - name - serviceName properties: restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false name: type: string description: 'The docker volume name. The name is extracted from docker-compose file. Volume name can only contain numbers, letters, _ and -. NOTE: For now only volume name is allowed. Bind mount points are not allowed.' pattern: ^[A-z0-9-.]*$ minLength: 1 maxLength: 1001 path: type: string description: Container destination path which is mounted to specified volume pattern: ^[A-z0-9/.-]*$ minLength: 1 maxLength: 1001 serviceName: type: string description: The name of the service defined in the docker-compose file. Service name can only contain numbers, letters,_ and -. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 fromCache: type: boolean description: Whether the data was retrieved from the cache dataId: type: string description: Unique string that identifies data that we want to listen to minLength: 2 maxLength: 129 pattern: ^[a-zA-Z0-9_-]+$ timestamp: type: integer format: int64 description: Timestamp when the data was retrieved minimum: 0 maximum: 4102444800000 - type: object description: Object containing the output from the 'docker inspect' command example: dataId: workload values: name: docker-nginx workloadId: 66debeb7e73383655702743a versionId: 66debeb7e73383655702743b deployTime: 1725874401321 workloadVersionName: version1 type: docker status: Installed deviceId: 170 wiseDeviceStatus: 8 statusChangedTimestamp: 1725874440193 ports: - hostPort: '8080' containerPort: '80' protocol: tcp envVars: - VARIABLE=value timestamp: 1725958241775 fromCache: false '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with this serial number does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000850 httpCode: '404' message: Node with this serial number does not exist '409': description: Node can not provide data content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000853 httpCode: '409' message: Node can not provide data /nerve/data-exchange/set-node-data: post: summary: Update node data from the Cloud server operationId: set_node_data description: Updates the node's data from the Cloud server and adjusts the logging level of the selected node tags: - DATA EXCHANGE requestBody: required: true content: application/json: schema: type: object description: Data parameters to set node data required: - dataId - data - serialNumber - timeout additionalProperties: false properties: dataId: type: string description: Unique string that identifies data that we want to listen to minLength: 2 maxLength: 129 pattern: ^[a-zA-Z0-9_-]+$ example: node_logging serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} timeout: type: integer format: int32 description: How long to wait for data from Node before returning cached data minimum: 0 example: 2000 maximum: 86400000 data: type: object description: Data to be set on the node required: - command properties: timeout: type: integer format: int32 description: How long to wait for data from Node before returning cached data minimum: 0 example: 2000 maximum: 86400000 command: type: string description: Command to be executed on the node enum: - set_loggers params: type: object description: Parameters for the command additionalProperties: false properties: timeout: type: integer format: int64 description: Timeout for the command execution in milliseconds minimum: 0 maximum: 86400000 example: 5000 ovdm: type: string description: Logging level for OVDM enum: - info - debug - warn - error libvirt_ctl: type: string description: Logging level for libvirts enum: - '10' - '20' - '30' - '40' - '50' codesys_ctl: type: string description: Logging level for Codesys enum: - '10' - '20' - '30' - '40' - '50' vm_display_ctl: type: string description: Logging level for VM display enum: - '10' - '20' - '30' - '40' - '50' x-permissions: - NODE:SET_DATA responses: '200': description: Successfully set node data content: application/json: schema: type: object description: Data retrieved from the node additionalProperties: false properties: dataId: type: string description: Unique string that identifies data that we want to listen to minLength: 2 maxLength: 129 pattern: ^[a-zA-Z0-9_-]+$ timestamp: type: integer format: int64 description: Timestamp when the data was retrieved minimum: 0 maximum: 4102444800000 example: dataId: node_logging timestamp: 1662464757565 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with this serial number does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000850 httpCode: '404' message: Node with this serial number does not exist '409': description: Node can not provide data content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000853 httpCode: '409' message: Node can not provide data /nerve/data-exchange/keep-emitting-updates: post: summary: Instruct the node to resume emitting updates operationId: keep_emitting_updates description: Sends a request to the node to continue emitting updates tags: - DATA EXCHANGE requestBody: required: true content: application/json: schema: type: object description: Parameters necessary to resume emitting updates required: - dataId - serialNumber - emitConfig additionalProperties: false properties: dataId: type: string description: Unique string that identifies data that we want to listen to minLength: 2 maxLength: 129 pattern: ^[a-zA-Z0-9_-]+$ example: system_stats serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} emitConfig: type: object description: Configuration parameters for the emission process. required: - dataInterval - watchdog properties: dataInterval: type: integer format: int64 description: Interval in milliseconds for emitting updates. minimum: 0 example: 1000 maximum: 86400000 watchdog: type: integer format: int64 description: Watchdog timeout in milliseconds to ensure node responsiveness. minimum: 0 example: 1000 maximum: 86400000 x-permissions: - NODE:VIEW responses: '200': description: Updates are being emitted successfully. content: application/json: schema: type: object description: Data retrieved from the node additionalProperties: false properties: message: type: string description: Confirmation message indicating successful operation. enum: - Message has been published... example: message: Message has been published... '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with this serial number does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000850 httpCode: '404' message: Node with this serial number does not exist '409': description: Node can not provide data content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000853 httpCode: '409' message: Node can not provide data /nerve/data-exchange/start-emitting-updates: post: summary: Instruct the node to begin emitting updates operationId: start_emitting_updates description: Sends a request to the node to initiate the emission of updates. tags: - DATA EXCHANGE requestBody: required: true content: application/json: schema: type: object description: Parameters required for emitting updates. required: - dataId - serialNumber - emitConfig additionalProperties: false properties: dataId: type: string description: Unique string that identifies data that we want to listen to minLength: 2 maxLength: 129 pattern: ^[a-zA-Z0-9_-]+$ example: system_stats serialNumber: description: The serial number of the node type: string maxLength: 12 minLength: 12 pattern: ([A-Z0-9]){12} emitConfig: type: object description: Configuration parameters for the emission process. required: - dataInterval - watchdog properties: dataInterval: type: integer format: int64 description: Interval in milliseconds for emitting updates. example: 1000 minimum: 0 maximum: 86400000 watchdog: type: integer format: int64 description: Watchdog timeout in milliseconds to ensure node responsiveness. example: 1000 minimum: 0 maximum: 86400000 x-permissions: - NODE:VIEW responses: '200': description: Updates are being emitted successfully. content: application/json: schema: type: object description: Data retrieved from the node additionalProperties: false properties: message: type: string description: Confirmation message indicating successful operation. enum: - Node has successfully handled the command and started to emit updates. example: message: Node has successfully handled the command and started to emit updates. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Node with this serial number does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000850 httpCode: '404' message: Node with this serial number does not exist '409': description: Node can not provide data content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_exchange_000853 httpCode: '409' message: Node can not provide data /nerve/ldap/active: get: summary: Get status of LDAP configuration description: This operation retrieves the current status of the LDAP configuration. If LDAP is connected, the response includes the configuration status, along with details about the configuration file. If LDAP is not connected, the response provides the status of the LDAP configuration. operationId: get_ldap_status security: [] tags: - LDAP x-permissions: - GLOBAL:PUBLIC responses: '200': description: Returns the status of LDAP configuration. content: application/json: schema: type: object anyOf: - description: Non active LDAP configuration type: object required: - active properties: active: type: boolean default: false description: Indicates there is no active LDAP configuration - description: Active LDAP configuration type: object required: - active - configuration - name properties: active: type: boolean default: true description: Indicates if the LDAP configuration is active or inactive configuration: type: string description: The name of the configuration file minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ name: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ example: active: false '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist /nerve/ldap/connection/test: post: summary: Test LDAP connection description: This operation tests the connection to the LDAP server using the provided configuration. It attempts to establish a connection to ensure the LDAP settings are valid and functional. operationId: test_ldap_connection tags: - LDAP requestBody: description: Defines LDAP connection required: true content: application/json: schema: type: object description: LDAP connection parameters required: - url - port - bindDN - password - tls additionalProperties: false properties: url: description: The IP address or the hostname of the LDAP server minLength: 1 maxLength: 1001 anyOf: - type: string description: The IP address value minLength: 0 maxLength: 255 pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} - type: string pattern: ^[\x20-\x7E\t\n\r]*$ port: description: The port of the LDAP server anyOf: - type: integer format: int32 minimum: 1 maximum: 65535 - type: string pattern: ^\d+$ bindDN: description: Bind distinguished name for LDAP authentication minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com type: string pattern: ^[\x20-\x7E\t\n\r]*$ password: minLength: 0 maxLength: 1001 description: The bind password for LDAP authentication, cannot be changed or reset type: string pattern: ^[\x20-\x7E\t\n\r]*$ tls: type: boolean description: Indicates if TLS should be used example: false x-permissions: - LDAP:TEST_CONNECTION responses: '200': description: Returns the LDAP connection status. content: application/json: schema: type: object anyOf: - type: object description: Non active LDAP configuration required: - connected - message properties: connected: type: boolean default: false description: Indicates there is no active LDAP configuration message: type: string description: Reason why the connection failed minLength: 1 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ - type: object description: Active LDAP configuration required: - connected properties: connected: type: boolean default: true description: Indicates if the LDAP configuration is active example: connected: false '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist /nerve/ldap/default: get: summary: Get default LDAP description: Used to get default LDAP configuration. operationId: get_default_ldap tags: - LDAP x-permissions: - LDAP:DEFAULT responses: '200': description: Returns the LDAP configuration. content: application/json: schema: description: The default LDAP configuration type: object allOf: - type: object description: LDAP configuration details properties: fileName: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ name: type: string description: The name of the LDAP configuration pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 1 maxLength: 1001 url: description: The IP address or the hostname of the LDAP server minLength: 1 maxLength: 1001 anyOf: - type: string description: The IP address value minLength: 0 maxLength: 255 pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} - type: string pattern: ^[\x20-\x7E\t\n\r]*$ port: description: The port of the LDAP server anyOf: - type: integer format: int32 minimum: 1 maximum: 65535 - type: string pattern: ^\d+$ active: type: boolean description: The active status of the LDAP configuration example: false bindDN: description: Bind distinguished name for LDAP authentication minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com type: string pattern: ^[\x20-\x7E\t\n\r]*$ tls: type: boolean description: Indicates if TLS should be used example: false recurringSync: type: object description: Recurring synchronization settings properties: recurringSync: type: boolean description: The recurring sync status example: true schedule: description: The schedule type of the recurring sync enum: - Interval - Starting time example: Interval time: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The time interval for recurring sync relationship: type: object description: The relationship between the groups and the users properties: type: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of relationship between users and groups minLength: 0 maxLength: 1001 example: group-user membership: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Attribute that defines the membership of a user in a group minLength: 0 maxLength: 1001 example: memberUid target: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The target of the relationship minLength: 0 maxLength: 1001 example: uid users: allOf: - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object properties: uid: description: The LDAP attribute for the user's uid pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 example: uid type: string - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object required: - username properties: username: type: string description: LDAP user username, which is used for authentication instead of the email address pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 groups: type: object description: Group-related settings for LDAP properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the groups minLength: 0 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve groups minLength: 0 maxLength: 1001 example: (ObjectClass=posixGroup) name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for group name minLength: 0 maxLength: 1001 example: cn - type: object properties: active: type: boolean example: false description: The updated active status initiator: type: object description: Who initiated the operation properties: firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 username: type: string description: LDAP user username, which is used for authentication instead of the email address pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 example: fileName: testconn name: testConn url: 172.19.0.1 port: 389 bindDN: cn=admin,dc=tttech,dc=com tls: false active: false groups: searchBase: cn=admin,dc=tttech,dc=com filter: (ObjectClass=posixGroup) name: cn adminGroup: Administrator default: User users: searchBase: cn=admin,dc=tttech,dc=com filter: (ObjectClass=posixAccount) firstName: givenName lastName: sn email: mail username: uid relationship: type: group-user membership: memberUid target: uid recurringSync: recurringSync: true schedule: Interval time: '1' initiator: _id: 66b212002621ad94acbd4679 firstName: Nikolina lastName: Babic username: nikolina.babic@rt-rk.com profileImgURL: '' contact: - label: Default contact: nikolina.babic@rt-rk.com isDefault: true contactType: email sendNotification: true _id: 66deca906b9d411fa498a714 clientName: [] groups: [] roles: - Admin - backupSnaps - logs11 brand: default type: local receiveEmail: false defaultUser: false address: [] created: '2024-08-06T12:07:28.699Z' __v: 0 auth: _id: 66b212002621ad94acbd467e identity: nikolina.babic@rt-rk.com activated: '2024-08-06T12:08:07.982Z' mfaEnabled: true id: 66b212002621ad94acbd4679 openSearchRoles: node_log_viewer,kibanauser,server_log_viewer,audit_log_viewer sessionID: 66b212002621ad94acbd4679-7f8c8ea76b218331bf8278c270ff68ac33eb21115562e93862231f705e23da2d urlInfo: method: PUT originalUrl: /nerve/ldap/testconn '204': description: No default LDAP configuration found '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist /nerve/ldap: get: summary: Retrieve LDAP configuration details description: This endpoint returns essential details of LDAP configurations, specifically the filename and the corresponding LDAP name for each configuration. operationId: get_ldap_config_details tags: - LDAP x-permissions: - LDAP:GET_ALL responses: '200': description: Successfully returns the filename and LDAP name for the configurations content: application/json: schema: type: object description: LDAP configuration details properties: ldapConfiguration: type: array description: List of LDAP configurations minItems: 0 maxItems: 1001 items: type: object description: Contains the filename and LDAP name of the configurations properties: filename: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ ldapName: type: string description: The name of the LDAP configuration pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 1 maxLength: 1001 example: ldapConfiguration: - filename: testConnection.yaml ldapName: ldapConnection '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist post: summary: Create LDAP connections description: Used to create LDAP connection. operationId: create_ldap_connections tags: - LDAP requestBody: description: Defines LDAP connections required: true content: application/json: schema: type: object description: LDAP configuration details required: - name - port - bindDN - relationship - url - groups - users - tls properties: fileName: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ name: type: string description: The name of the LDAP configuration pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 1 maxLength: 1001 url: description: The IP address or the hostname of the LDAP server minLength: 1 maxLength: 1001 anyOf: - type: string description: The IP address value minLength: 0 maxLength: 255 pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} - type: string pattern: ^[\x20-\x7E\t\n\r]*$ port: description: The port of the LDAP server anyOf: - type: integer format: int32 minimum: 1 maximum: 65535 - type: string pattern: ^\d+$ active: type: boolean description: The active status of the LDAP configuration example: false bindDN: description: Bind distinguished name for LDAP authentication minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com type: string pattern: ^[\x20-\x7E\t\n\r]*$ password: minLength: 0 maxLength: 1001 description: The bind password for LDAP authentication, cannot be changed or reset type: string pattern: ^[\x20-\x7E\t\n\r]*$ tls: type: boolean description: Indicates if TLS should be used example: false recurringSync: type: object description: Recurring synchronization settings properties: recurringSync: type: boolean description: The recurring sync status example: true schedule: description: The schedule type of the recurring sync enum: - Interval - Starting time example: Interval time: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The time interval for recurring sync relationship: type: object description: The relationship between the groups and the users required: - type - membership - target properties: type: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of relationship between users and groups minLength: 1 maxLength: 1001 example: group-user membership: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Attribute that defines the membership of a user in a group minLength: 1 maxLength: 1001 example: memberUid target: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The target of the relationship minLength: 1 maxLength: 1001 example: uid users: allOf: - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object properties: uid: description: The LDAP attribute for the user's uid pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 example: uid type: string - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object required: - username properties: username: type: string description: LDAP user username, which is used for authentication instead of the email address pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 groups: type: object description: Group-related settings for LDAP required: - searchBase - filter - name - adminGroup - default properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the groups minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve groups minLength: 1 maxLength: 1001 example: (ObjectClass=posixGroup) name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for group name minLength: 1 maxLength: 1001 example: cn adminGroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the admin group minLength: 1 maxLength: 1001 example: cn=admin,ou=groups,dc=tttech,dc=com default: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the default group minLength: 1 maxLength: 1001 example: cn=default,ou=groups,dc=tttech,dc=com x-permissions: - LDAP:CREATE responses: '200': description: Returns the file name of the created LDAP connection. content: application/json: schema: type: object description: Object contains the file name of the created LDAP connection properties: filename: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ example: filename: testConnection '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist '429': description: Triggered action is already in progress. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '429' errorCode: nerve_ldap_066 message: Triggered action is already in progress. /nerve/ldap/query/groups: post: summary: LDAP server for groups with desired configuration description: Allows setting up LDAP configurations including server details, user and group settings, and synchronization options. operationId: ldap_groups tags: - LDAP requestBody: required: true content: application/json: schema: type: object description: LDAP configuration parameters required: - ldap properties: ldap: type: object description: LDAP configuration details required: - relationship - groups properties: fileName: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ name: type: string description: The name of the LDAP configuration pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 1 maxLength: 1001 url: description: The IP address or the hostname of the LDAP server minLength: 1 maxLength: 1001 anyOf: - type: string description: The IP address value minLength: 0 maxLength: 255 pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} - type: string pattern: ^[\x20-\x7E\t\n\r]*$ port: description: The port of the LDAP server anyOf: - type: integer format: int32 minimum: 1 maximum: 65535 - type: string pattern: ^\d+$ active: type: boolean description: The active status of the LDAP configuration example: false bindDN: description: Bind distinguished name for LDAP authentication minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com type: string pattern: ^[\x20-\x7E\t\n\r]*$ password: minLength: 0 maxLength: 1001 description: The bind password for LDAP authentication, cannot be changed or reset type: string pattern: ^[\x20-\x7E\t\n\r]*$ tls: type: boolean description: Indicates if TLS should be used example: false recurringSync: type: object description: Recurring synchronization settings properties: recurringSync: type: boolean description: The recurring sync status example: true schedule: description: The schedule type of the recurring sync enum: - Interval - Starting time example: Interval time: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The time interval for recurring sync relationship: type: object description: The relationship between the groups and the users properties: type: type: string description: Type of relationship between users and groups enum: - user-group - group-user default: user-group example: group-user membership: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Attribute that defines the membership of a user in a group minLength: 0 maxLength: 1001 default: '' example: memberUid target: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The target of the relationship minLength: 0 maxLength: 1001 default: '' example: uid users: allOf: - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object properties: uid: description: The LDAP attribute for the user's uid pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 example: uid type: string - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object required: - username properties: username: type: string description: LDAP user username, which is used for authentication instead of the email address pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 groups: type: object description: Group-related settings for LDAP properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the groups minLength: 0 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve groups minLength: 0 maxLength: 1001 example: (ObjectClass=posixGroup) name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for group name minLength: 0 maxLength: 1001 example: cn x-permissions: - LDAP:QUERY responses: '200': description: A list of groups and their details. content: application/json: schema: type: object description: List of LDAP groups properties: groups: type: array minItems: 0 maxItems: 1001 description: List of LDAP groups items: type: object properties: dn: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Distinguished name of the group minLength: 0 maxLength: 1001 example: cn=Administrator,cn=admin,dc=tttech,dc=com name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Group name minLength: 0 maxLength: 1001 example: Administrator description: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 description: Description of the group users: type: array minItems: 0 maxItems: 1001 description: Users in the group items: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 example: - bstojakovic - dzdrnja - zcrnojacki target: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 description: Target for the group mapTo: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 description: Mapping to a role or type example: Admin example: groups: - dn: cn=Administrator,cn=admin,dc=tttech,dc=com name: Administrator description: ' ' users: - bstojakovic - dzdrnja - zcrnojacki - imiladinovic - esheety - gpolitano target: '' mapTo: Admin - dn: cn=Datapath,cn=admin,dc=tttech,dc=com name: Datapath description: ' ' users: - bstojakovic - imiladinovic - imilosavljevic target: '' mapTo: User - testconn - dn: cn=Logs,cn=admin,dc=tttech,dc=com name: Logs description: ' ' users: - bstojakovic - imiladinovic target: '' mapTo: User - testconn - dn: cn=User,cn=admin,dc=tttech,dc=com name: User description: ' ' users: - mertl - esudrat - dbrajkovic - imilosavljevic target: '' mapTo: User - testconn '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist '429': description: Triggered action is already in progress. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '429' errorCode: nerve_ldap_066 message: Triggered action is already in progress. '500': description: Failed to query groups. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_ldap_002 message: Failed to query groups. /nerve/ldap/query/users: post: summary: LDAP server for users with desired configuration description: Allows setting up LDAP configurations including server details, user and group settings, and synchronization options. operationId: ldap_users tags: - LDAP requestBody: required: true content: application/json: schema: type: object description: LDAP configuration parameters required: - ldap properties: ldap: type: object description: LDAP configuration details required: - relationship - users properties: fileName: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ name: type: string description: The name of the LDAP configuration pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 1 maxLength: 1001 url: description: The IP address or the hostname of the LDAP server minLength: 1 maxLength: 1001 anyOf: - type: string description: The IP address value minLength: 0 maxLength: 255 pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} - type: string pattern: ^[\x20-\x7E\t\n\r]*$ port: description: The port of the LDAP server anyOf: - type: integer format: int32 minimum: 1 maximum: 65535 - type: string pattern: ^\d+$ active: type: boolean description: The active status of the LDAP configuration example: false bindDN: description: Bind distinguished name for LDAP authentication minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com type: string pattern: ^[\x20-\x7E\t\n\r]*$ password: minLength: 0 maxLength: 1001 description: The bind password for LDAP authentication, cannot be changed or reset type: string pattern: ^[\x20-\x7E\t\n\r]*$ tls: type: boolean description: Indicates if TLS should be used example: false recurringSync: type: object description: Recurring synchronization settings properties: recurringSync: type: boolean description: The recurring sync status example: true schedule: description: The schedule type of the recurring sync enum: - Interval - Starting time example: Interval time: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The time interval for recurring sync relationship: type: object description: The relationship between the groups and the users properties: type: type: string description: Type of relationship between users and groups enum: - user-group - group-user default: user-group example: group-user membership: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Attribute that defines the membership of a user in a group minLength: 0 maxLength: 1001 default: '' example: memberUid target: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The target of the relationship minLength: 0 maxLength: 1001 default: '' example: uid users: allOf: - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object properties: uid: description: The LDAP attribute for the user's uid pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 example: uid type: string - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object required: - username properties: username: type: string description: LDAP user username, which is used for authentication instead of the email address pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 groups: type: object description: Group-related settings for LDAP properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the groups minLength: 0 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve groups minLength: 0 maxLength: 1001 example: (ObjectClass=posixGroup) name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for group name minLength: 0 maxLength: 1001 example: cn adminGroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the admin group minLength: 0 maxLength: 1001 example: cn=admin,ou=groups,dc=tttech,dc=com default: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the default group minLength: 0 maxLength: 1001 example: cn=default,ou=groups,dc=tttech,dc=com x-permissions: - LDAP:QUERY responses: '200': description: A list of users and their details. content: application/json: schema: type: object description: List of LDAP users properties: users: type: array minItems: 0 maxItems: 1001 description: List of LDAP users items: type: object properties: dn: description: Bind distinguished name for LDAP authentication minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com type: string pattern: ^[\x20-\x7E\t\n\r]*$ firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user username: type: string description: LDAP user username, which is used for authentication instead of the email address pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 groups: type: array minItems: 0 maxItems: 1001 description: Groups the user belongs to items: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The name of the group minLength: 0 maxLength: 1001 target: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the user's username minLength: 0 maxLength: 1001 example: uid uid: description: The LDAP attribute for the user's uid pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 example: uid type: string example: users: - dn: cn=dzdrnja,ou=DEV,ou=RTRK,cn=admin,dc=tttech,dc=com firstName: Dragan lastName: Zdrnja email: dragan.zdrnja@rt-rk.com username: dzdrnja groups: [] target: uid uid: dzdrnja - dn: cn=zcrnojacki,ou=DEV,ou=RTRK,cn=admin,dc=tttech,dc=com firstName: Zivko lastName: Crnojacki email: zivko.crnojacki@rt-rk.com username: zcrnojacki groups: [] target: uid uid: zcrnojacki - dn: cn=bstojakovic,ou=QA,ou=RTRK,cn=admin,dc=tttech,dc=com firstName: Bojan lastName: Stojakovic email: b.stojakovic@rt-rk.com username: bstojakovic groups: [] target: uid uid: bstojakovic '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist '429': description: Triggered action is already in progress. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '429' errorCode: nerve_ldap_066 message: Triggered action is already in progress. '500': description: Failed to do LDAP sync. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '500' errorCode: nerve_ldap_048 message: Failed to do LDAP sync. /nerve/ldap/{name}/active: patch: summary: Activate or deactivate LDAP description: 'Used to activate or deactivate LDAP configuration. ' operationId: activate_deactivate_ldap tags: - LDAP parameters: - in: path name: name required: true description: The name of the LDAP configuration schema: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ requestBody: required: true content: application/json: schema: type: object description: Activate or deactivate LDAP properties: active: type: boolean description: Activate or deactivate LDAP required: - active x-permissions: - LDAP:SET_ACTIVE_LDAP responses: '200': description: Returns the name of the LDAP configuration. content: application/json: schema: type: object description: The name of the LDAP configuration properties: fileName: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ example: fileName: testConnection '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist /nerve/ldap/{file}: put: summary: Update LDAP connections description: Used to update LDAP connection. operationId: update_ldap_connections tags: - LDAP parameters: - in: path name: file required: true description: The name of the LDAP configuration file schema: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ requestBody: description: Defines LDAP connections required: true content: application/json: schema: type: object description: LDAP configuration details required: - name - port - bindDN - relationship - url - groups - users - tls properties: fileName: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ name: type: string description: The name of the LDAP configuration pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 1 maxLength: 1001 url: description: The IP address or the hostname of the LDAP server minLength: 1 maxLength: 1001 anyOf: - type: string description: The IP address value minLength: 0 maxLength: 255 pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} - type: string pattern: ^[\x20-\x7E\t\n\r]*$ port: description: The port of the LDAP server anyOf: - type: integer format: int32 minimum: 1 maximum: 65535 - type: string pattern: ^\d+$ active: type: boolean description: The active status of the LDAP configuration example: false bindDN: description: Bind distinguished name for LDAP authentication minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com type: string pattern: ^[\x20-\x7E\t\n\r]*$ password: minLength: 0 maxLength: 1001 description: The bind password for LDAP authentication, cannot be changed or reset type: string pattern: ^[\x20-\x7E\t\n\r]*$ tls: type: boolean description: Indicates if TLS should be used example: false recurringSync: type: object description: Recurring synchronization settings properties: recurringSync: type: boolean description: The recurring sync status example: true schedule: description: The schedule type of the recurring sync enum: - Interval - Starting time example: Interval time: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The time interval for recurring sync relationship: type: object description: The relationship between the groups and the users required: - type - membership - target properties: type: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of relationship between users and groups minLength: 1 maxLength: 1001 example: group-user membership: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Attribute that defines the membership of a user in a group minLength: 1 maxLength: 1001 example: memberUid target: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The target of the relationship minLength: 1 maxLength: 1001 example: uid users: allOf: - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object properties: uid: description: The LDAP attribute for the user's uid pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 example: uid type: string - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object required: - username properties: username: type: string description: LDAP user username, which is used for authentication instead of the email address pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 groups: type: object description: Group-related settings for LDAP required: - searchBase - filter - name - adminGroup - default properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the groups minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve groups minLength: 1 maxLength: 1001 example: (ObjectClass=posixGroup) name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for group name minLength: 1 maxLength: 1001 example: cn adminGroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the admin group minLength: 1 maxLength: 1001 example: cn=admin,ou=groups,dc=tttech,dc=com default: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the default group minLength: 1 maxLength: 1001 example: cn=default,ou=groups,dc=tttech,dc=com x-permissions: - LDAP:EDIT responses: '204': description: LDAP configuration updated successfully. '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist '429': description: Triggered action is already in progress. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '429' errorCode: nerve_ldap_066 message: Triggered action is already in progress. /nerve/ldap/sync: post: summary: Synchronization LDAP users description: Used to synchronize LDAP users. Activate recurring sync to set a specific time or interval for ongoing synchronization between the Management System and the LDAP server. Additionally, this operation performs an actual synchronization of users and groups. operationId: synchronize_ldap_users tags: - LDAP requestBody: description: LDAP connections required: true content: application/json: schema: allOf: - type: object description: LDAP configuration details required: - name - port - bindDN - relationship - url - groups - users - tls properties: fileName: description: The name of the LDAP configuration type: string minLength: 0 maxLength: 1001 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ name: type: string description: The name of the LDAP configuration pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 1 maxLength: 1001 url: description: The IP address or the hostname of the LDAP server minLength: 1 maxLength: 1001 anyOf: - type: string description: The IP address value minLength: 0 maxLength: 255 pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} - type: string pattern: ^[\x20-\x7E\t\n\r]*$ port: description: The port of the LDAP server anyOf: - type: integer format: int32 minimum: 1 maximum: 65535 - type: string pattern: ^\d+$ active: type: boolean description: The active status of the LDAP configuration example: false bindDN: description: Bind distinguished name for LDAP authentication minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com type: string pattern: ^[\x20-\x7E\t\n\r]*$ password: minLength: 0 maxLength: 1001 description: The bind password for LDAP authentication, cannot be changed or reset type: string pattern: ^[\x20-\x7E\t\n\r]*$ tls: type: boolean description: Indicates if TLS should be used example: false recurringSync: type: object description: Recurring synchronization settings properties: recurringSync: type: boolean description: The recurring sync status example: true schedule: description: The schedule type of the recurring sync enum: - Interval - Starting time example: Interval time: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The time interval for recurring sync relationship: type: object description: The relationship between the groups and the users required: - type - membership - target properties: type: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Type of relationship between users and groups minLength: 1 maxLength: 1001 example: group-user membership: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Attribute that defines the membership of a user in a group minLength: 1 maxLength: 1001 example: memberUid target: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The target of the relationship minLength: 1 maxLength: 1001 example: uid users: allOf: - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object properties: uid: description: The LDAP attribute for the user's uid pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 0 maxLength: 1001 example: uid type: string - allOf: - type: object description: The LDAP user configuration. Existing users LDAP or local, cannot be edited or deleted. New users cannot be added. required: - searchBase - filter - firstName - lastName - email properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the users minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve users minLength: 1 maxLength: 1001 example: (ObjectClass=posixAccount) firstName: type: string description: The first name of the user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: maxLength: 40 type: string description: The last name of the user example: sn pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 email: type: string pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1001 description: The email of the user - type: object required: - username properties: username: type: string description: LDAP user username, which is used for authentication instead of the email address pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 groups: type: object description: Group-related settings for LDAP required: - searchBase - filter - name - adminGroup - default properties: searchBase: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The search base for the groups minLength: 1 maxLength: 1001 example: cn=admin,dc=tttech,dc=com filter: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP filter to retrieve groups minLength: 1 maxLength: 1001 example: (ObjectClass=posixGroup) name: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for group name minLength: 1 maxLength: 1001 example: cn adminGroup: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the admin group minLength: 1 maxLength: 1001 example: cn=admin,ou=groups,dc=tttech,dc=com default: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: The LDAP attribute for the default group minLength: 1 maxLength: 1001 example: cn=default,ou=groups,dc=tttech,dc=com - type: object required: - recurringSync description: LDAP configuration details for synchronization x-permissions: - LDAP:SYNC responses: '200': description: Returns the ldap configuration content: application/json: schema: type: object description: The status of the LDAP configuration additionalProperties: false properties: success: type: boolean description: The status of the LDAP configuration example: success: true '400': description: LDAP server is not available content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '400' errorCode: nerve_ldap_061 message: LDAP server is not available '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: LDAP server does not exist content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '404' errorCode: nerve_ldap_009 message: Ldap configuration file does not exist '429': description: Triggered action is already in progress. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: httpCode: '429' errorCode: nerve_ldap_066 message: Triggered action is already in progress. /auth/log-agents: get: summary: Verify that a log agent has access to logs description: 'Internal endpoint for verifying a log agent, not intended for direct end-user usage. Verifies if request sender is authorized - basic authentication of log agent (filebeat, metricbeat, fluent-bit). Checks if it is running on authorized node (added to MS) by checking credentials (user: node Serial Number; pass: node Secure ID)' operationId: log_agents tags: - AUTH x-internal: true security: - basicAuth: [] x-permissions: - GLOBAL:PUBLIC responses: '204': description: The log agent is verified headers: x-auth-user: description: Header containing the name of the log agent schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Name of the log agent minLength: 0 maxLength: 1000 x-auth-role: description: Header containing comma-separated OpenSearch roles assigned to the log agent schema: description: Comma-separated OpenSearch roles minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ '401': description: You are not authorized. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_auth_017 httpCode: '401' message: Not authorized to access logs. '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found /auth/login: post: summary: Login user description: Authenticates user credentials and creates a session operationId: login tags: - AUTH security: [] requestBody: required: true content: application/json: schema: type: object description: User login credentials required: - identity - secret additionalProperties: false properties: identity: type: string pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ description: Username of an user minLength: 1 maxLength: 1000 secret: type: string description: User password minLength: 1 maxLength: 1001 pattern: .* externalLogin: type: boolean description: Flag indicating if the login was performed from outside the Management System (deprecated) x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successful operation content: application/json: schema: oneOf: - type: object description: User logged in on the Management System required: - user additionalProperties: false properties: user: oneOf: - description: Logged local user allOf: - type: object description: Data shared by Management System users of all types required: - _id - firstName - lastName - roles - type - email - openSearchRoles - sessionId - permissions properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 firstName: type: string description: User's first name pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: type: string description: User's last name pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 passwordExpiryDaysLeft: type: integer format: int32 description: Number of days left until the user's password expires. minimum: 1 maximum: 7 profileImgURL: type: string description: URL of the user profile image pattern: ^(|\/[a-f0-9]{32}\/[a-f0-9]{32}\.(png|jpg|jpeg))$ minLength: 0 maxLength: 1000 nullable: true roles: type: array description: List of roles assigned to the user items: type: string description: Role name pattern: ^[a-zA-Z0-9-_ ]*$ minLength: 1 maxLength: 64 minItems: 1 maxItems: 1000 type: type: string description: User type - local Management System user or LDAP user enum: - local - ldap email: description: User's contact email address type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 openSearchRoles: description: Comma-separated OpenSearch roles minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ sessionId: type: string description: ID of the session assigned to the user after successful login pattern: ^[a-f0-9]{24}-[a-f0-9]{64}$ minLength: 89 maxLength: 89 permissions: type: object description: Permissions assigned to the user in object format, where each key represents the name of the permission and its value is a boolean indicating if the user has that permission additionalProperties: type: boolean - type: object required: - username - auth properties: username: description: Username of a local user in email format type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 auth: description: User data related to authentication required: - _id - identity - activated - mfaEnabled properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 identity: description: Username of a local user in email format type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 activated: type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 mfaEnabled: type: boolean description: Flag indicating if multi-factor authentication is enabled for the user - description: Logged LDAP user allOf: - type: object description: Data shared by Management System users of all types required: - _id - firstName - lastName - roles - type - email - openSearchRoles - sessionId - permissions properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 firstName: type: string description: User's first name pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: type: string description: User's last name pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 passwordExpiryDaysLeft: type: integer format: int32 description: Number of days left until the user's password expires. minimum: 1 maximum: 7 profileImgURL: type: string description: URL of the user profile image pattern: ^(|\/[a-f0-9]{32}\/[a-f0-9]{32}\.(png|jpg|jpeg))$ minLength: 0 maxLength: 1000 nullable: true roles: type: array description: List of roles assigned to the user items: type: string description: Role name pattern: ^[a-zA-Z0-9-_ ]*$ minLength: 1 maxLength: 64 minItems: 1 maxItems: 1000 type: type: string description: User type - local Management System user or LDAP user enum: - local - ldap email: description: User's contact email address type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 openSearchRoles: description: Comma-separated OpenSearch roles minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ sessionId: type: string description: ID of the session assigned to the user after successful login pattern: ^[a-f0-9]{24}-[a-f0-9]{64}$ minLength: 89 maxLength: 89 permissions: type: object description: Permissions assigned to the user in object format, where each key represents the name of the permission and its value is a boolean indicating if the user has that permission additionalProperties: type: boolean - type: object required: - username - ldap properties: username: type: string description: Username of an LDAP user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 ldap: type: object description: User data related to LDAP required: - _id - fileName - dn additionalProperties: false properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 fileName: type: string description: Name of the LDAP configuration file pattern: ^[a-zA-Z0-9_\-\s]+$ minLength: 1 maxLength: 1000 dn: type: string description: Distinguished name of the LDAP user in the format of a comma-separated list of key-value pairs pattern: ^[\x20-\x7E\t\n\r]*$ minLength: 1 maxLength: 1000 - type: object description: User logged in on a node required: - username - firstName - lastName - permissions - email additionalProperties: false properties: username: anyOf: - description: Username of a local user in email format type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 - type: string description: Username of an LDAP user pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 1000 firstName: type: string description: User's first name pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: type: string description: User's last name pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 permissions: type: array description: Node access permissions assigned to the user items: type: string enum: - NODE:ADMIN_ACCOUNT - NODE:VIEWER_ACCOUNT - NODE:RC_CONTROLLER_ACCOUNT - NODE:CUSTOM_ACCOUNT minItems: 0 maxItems: 4 email: description: User's contact email address type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 passwordExpiryDaysLeft: type: integer format: int32 description: Number of days left until the user's password expires. minimum: 1 maximum: 7 - type: object description: Object containing data used to redirect the user to the multi-factor authentication activation or validation page after entering the correct username and password required: - mfa additionalProperties: false properties: mfa: oneOf: - type: object description: Object containing the token used to activate user's multi-factor authentication required: - activationToken additionalProperties: false properties: activationToken: type: string description: Token used to activate or reset user's multi-factor authentication, or reset password pattern: ^[a-fA-F0-9]{64}$ minLength: 64 maxLength: 64 - type: object description: Object containing the ID of the multi-factor authentication validation session required: - validationId additionalProperties: false properties: validationId: type: string description: ID of the multi-factor authentication validation session pattern: ^mfa-[a-f0-9]{64}$ minLength: 68 maxLength: 68 examples: logged_user_local: value: user: _id: 6697b2d3691634c8f73311f2 firstName: Demo lastName: Nerve username: demo@nerve.com profileImgURL: /3a87abb281b8f9857f37aa7f870041b3/3a87abb281b8f9857f37aa7f870041b3.png roles: - User type: local auth: _id: 6697b2d3691634c8f73311f2 identity: demo@nerve.com activated: '2000-01-01T00:00:00.000Z' mfaEnabled: true email: demo@nerve.com openSearchRoles: first_open_search_role,second_open_search_role sessionId: 6697b2d3691634c8f73311f2-8facd6e4d4b1fff1409191764d9958f9ec512b73b9e7a0a22c17ca780ffc04a7 permissions: GLOBAL:GENERAL: true NODE:VIEW: true NODE:SET_DATA: false NERVE_DNA:EDIT: false NERVE_DNA:VIEW: true LABEL:CREATE: false LABEL:DELETE: false LABEL:GROUP: false LABEL:VIEW: false LABEL:LIST: false logged_user_ldap: value: user: _id: 6697b2d3691634c8f73311f2 firstName: Demo lastName: Nerve username: dnerve profileImgURL: null roles: - Datapath - ldap - Logs - ldap type: ldap ldap: _id: 6697b2d3691634c8f73311f2 fileName: ldap dn: cn=dnerve,ou=users,dc=nerve,dc=com email: demo@nerve.com openSearchRoles: first_open_search_role,second_open_search_role sessionId: 6697b2d3691634c8f73311f2-8facd6e4d4b1fff1409191764d9958f9ec512b73b9e7a0a22c17ca780ffc04a7 permissions: GLOBAL:GENERAL: true NODE:VIEW: true NODE:SET_DATA: false NERVE_DNA:EDIT: false NERVE_DNA:VIEW: true LABEL:CREATE: false LABEL:DELETE: false LABEL:GROUP: false LABEL:VIEW: false LABEL:LIST: false logged_user_node: value: username: dnerve firstName: Demo lastName: Nerve permissions: - NODE:VIEWER_ACCOUNT - NODE:RC_CONTROLLER_ACCOUNT email: demo@nerve.com passwordExpiryDaysLeft: 3 login_mfa_activation: value: mfa: activationToken: 8efaf18ca5ded2d19a5c1c8b45e3320f5a408fbb3fee9d554757c203b5481e5b login_mfa_validation: value: mfa: validationId: mfa-7c5cd837a8a1abc2de8ca7b73fe0fde40575562ddc89ffeff09ed6fb812e1cd6 '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '401': description: You are not authorized. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_auth_017 httpCode: '401' message: Not authorized to access logs. '403': description: Login failed. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00013' httpCode: '403' message: Login failed. Please check your username and password, or activate your account if you haven't done so '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found '406': description: Invalid credentials content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00012' httpCode: '406' message: Invalid credentials '429': description: Brute force protection error, too many failed requests were made content: application/json: schema: allOf: - description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ properties: content: type: object description: Additional information about the error properties: retryAfter: type: integer format: int64 description: Time in seconds after which the user can retry the request minimum: 0 maximum: 31536000 example: errorCode: nerve_auth_001 httpCode: '429' message: Too many failed requests made! This account or IP address has been temporarily blocked. Please try again later. /auth/logout: get: summary: Logout user description: Invalidates user's session operationId: logout tags: - AUTH x-permissions: - GLOBAL:GENERAL responses: '204': description: The user has been successfully logged out '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /auth/mfa/activate/{activationToken}: post: summary: Activate user multi-factor authentication description: Uses an authentication token sent to the user's email to activate multi-factor authentication operationId: mfa_activate tags: - AUTH security: [] parameters: - name: activationToken in: path description: The multi-factor authentication activation token sent to user's email in a link required: true schema: type: string description: Token used to activate or reset user's multi-factor authentication, or reset password pattern: ^[a-fA-F0-9]{64}$ minLength: 64 maxLength: 64 requestBody: required: true content: application/json: schema: type: object description: Object containing user's multi-factor authentication secret required: - mfaSecret additionalProperties: false properties: mfaSecret: type: string description: Multi-factor authentication secret in Base32 format pattern: ^[A-Z2-7]{32}$ minLength: 32 maxLength: 32 x-permissions: - GLOBAL:PUBLIC responses: '204': description: Successfully activated multi-factor authentication and set secret for user '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00002' httpCode: '400' message: Bad request '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found /auth/mfa/generate/{generationToken}: get: summary: Generates user's multi-factor authentication secret and QR code URL description: Generates a multi-factor authentication secret during activation or reset, returning an otpauth URL. This URL can be used to display a QR code for scanning with an authenticator app. operationId: mfa_generate tags: - AUTH security: [] parameters: - name: generationToken in: path description: The multi-factor authentication generation token sent to the user's email in a link required: true schema: type: string description: Token used to activate or reset user's multi-factor authentication, or reset password pattern: ^[a-fA-F0-9]{64}$ minLength: 64 maxLength: 64 x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successful operation content: application/json: schema: type: object description: Object containing user's multi-factor authentication secret and QR code URL required: - mfaSecret - mfaUrl additionalProperties: false properties: mfaSecret: type: string description: Multi-factor authentication secret in Base32 format pattern: ^[A-Z2-7]{32}$ minLength: 32 maxLength: 32 mfaUrl: type: string description: URL for the QR code to scan with an authenticator app pattern: ^otpauth:\/\/totp\/([a-zA-Z0-9.-]+):([a-zA-Z0-9%._@-]+)\?issuer=([a-zA-Z0-9.-]+)&secret=([A-Z2-7]{16,})&algorithm=([A-Z0-9]+)&digits=(\d+)&period=(\d+)$ minLength: 0 maxLength: 1000 example: mfaSecret: 3N2UQLMGKFO66TLRCW5RS2ZU7QSLRSGZ mfaUrl: otpauth://totp/demo.nerve.com:demo%40nerve.com?issuer=demo.nerve.com&secret=3N2UQLMGKFO66TLRCW5RS2ZU7QSLRSGZ&algorithm=SHA1&digits=6&period=30 '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00002' httpCode: '400' message: Bad request '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found /auth/mfa/is-enabled: get: summary: Check if multi-factor authentication is enabled on Management System description: Check if multi-factor authentication is enabled globally on the Management System instance operationId: mfa_is_enabled tags: - AUTH security: [] x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successful operation content: application/json: schema: type: object description: Multi-factor authentication status on the Management System required: - isEnabled additionalProperties: false properties: isEnabled: type: boolean description: Flag indicating if multi-factor authentication is enabled on the Management System instance example: isEnabled: true /auth/mfa/reset/{resetToken}: post: summary: Reset user multi-factor authentication secret description: Uses a reset token sent to the user's email to reset their multi-factor authentication secret operationId: mfa_reset tags: - AUTH security: [] parameters: - name: resetToken in: path description: The multi-factor authentication reset token sent to user's email in a link required: true schema: type: string description: Token used to activate or reset user's multi-factor authentication, or reset password pattern: ^[a-fA-F0-9]{64}$ minLength: 64 maxLength: 64 requestBody: required: true content: application/json: schema: type: object description: Object containing user's multi-factor authentication secret required: - mfaSecret additionalProperties: false properties: mfaSecret: type: string description: Multi-factor authentication secret in Base32 format pattern: ^[A-Z2-7]{32}$ minLength: 32 maxLength: 32 x-permissions: - GLOBAL:PUBLIC responses: '204': description: Successfully reset multi-factor authentication secret for user '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00002' httpCode: '400' message: Bad request '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found /auth/mfa/validate: post: summary: Validate multi-factor authentication code and login user description: Validate multi-factor authentication code and login user operationId: mfa_validate tags: - AUTH security: [] requestBody: required: true content: application/json: schema: type: object description: Object containing data required to validate user's multi-factor authentication and complete the login process required: - validationId - authCode additionalProperties: false properties: validationId: type: string description: ID of the multi-factor authentication validation session pattern: ^mfa-[a-f0-9]{64}$ minLength: 68 maxLength: 68 authCode: type: string description: Six-digit multi-factor authentication code pattern: ^[0-9]{6}$ minLength: 6 maxLength: 6 x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successful operation content: application/json: schema: type: object description: Logged local user with enabled multi-factor authentication required: - user additionalProperties: false properties: user: description: Logged local user allOf: - type: object description: Data shared by Management System users of all types required: - _id - firstName - lastName - roles - type - email - openSearchRoles - sessionId - permissions properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 firstName: type: string description: User's first name pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 lastName: type: string description: User's last name pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ minLength: 2 maxLength: 40 passwordExpiryDaysLeft: type: integer format: int32 description: Number of days left until the user's password expires. minimum: 1 maximum: 7 profileImgURL: type: string description: URL of the user profile image pattern: ^(|\/[a-f0-9]{32}\/[a-f0-9]{32}\.(png|jpg|jpeg))$ minLength: 0 maxLength: 1000 nullable: true roles: type: array description: List of roles assigned to the user items: type: string description: Role name pattern: ^[a-zA-Z0-9-_ ]*$ minLength: 1 maxLength: 64 minItems: 1 maxItems: 1000 type: type: string description: User type - local Management System user or LDAP user enum: - local - ldap email: description: User's contact email address type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 openSearchRoles: description: Comma-separated OpenSearch roles minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ sessionId: type: string description: ID of the session assigned to the user after successful login pattern: ^[a-f0-9]{24}-[a-f0-9]{64}$ minLength: 89 maxLength: 89 permissions: type: object description: Permissions assigned to the user in object format, where each key represents the name of the permission and its value is a boolean indicating if the user has that permission additionalProperties: type: boolean - type: object required: - username - auth properties: username: description: Username of a local user in email format type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 auth: description: User data related to authentication required: - _id - identity - activated - mfaEnabled properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 identity: description: Username of a local user in email format type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 activated: type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 mfaEnabled: type: boolean description: Flag indicating if multi-factor authentication is enabled for the user example: user: _id: 6697b2d3691634c8f73311f2 firstName: Demo lastName: Nerve username: demo@nerve.com profileImgURL: /3a87abb281b8f9857f37aa7f870041b3/3a87abb281b8f9857f37aa7f870041b3.png roles: - User type: local auth: _id: 6697b2d3691634c8f73311f2 identity: demo@nerve.com activated: '2000-01-01T00:00:00.000Z' mfaEnabled: true email: demo@nerve.com openSearchRoles: first_open_search_role,second_open_search_role sessionId: 6697b2d3691634c8f73311f2-8facd6e4d4b1fff1409191764d9958f9ec512b73b9e7a0a22c17ca780ffc04a7 permissions: GLOBAL:GENERAL: true NODE:VIEW: true NODE:SET_DATA: false NERVE_DNA:EDIT: false NERVE_DNA:VIEW: true LABEL:CREATE: false LABEL:DELETE: false LABEL:GROUP: false LABEL:VIEW: false LABEL:LIST: false '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00002' httpCode: '400' message: Bad request '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found '406': description: Invalid credentials content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00012' httpCode: '406' message: Invalid credentials '409': description: This authentication code has already been used content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_auth_025 httpCode: '409' message: This authentication code has already been used. '429': description: Brute force protection error, too many failed requests were made content: application/json: schema: allOf: - description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ properties: content: type: object description: Additional information about the error properties: retryAfter: type: integer format: int64 description: Time in seconds after which the user can retry the request minimum: 0 maximum: 31536000 example: errorCode: nerve_auth_001 httpCode: '429' message: Too many failed requests made! This account or IP address has been temporarily blocked. Please try again later. /auth/password/is-reset/{resetToken}: get: summary: Check if user password is already reset description: Checks if the reset token sent to user's email has already been used to reset their password operationId: password_is_reset tags: - AUTH security: [] parameters: - name: resetToken in: path description: The password reset token sent to the user's email in a link required: true schema: type: string description: Token used to activate or reset user's multi-factor authentication, or reset password pattern: ^[a-fA-F0-9]{64}$ minLength: 64 maxLength: 64 x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successful operation content: application/json: schema: type: object description: User password reset status required: - isReset additionalProperties: false properties: isReset: type: boolean description: Flag indicating if the user password has already been reset example: isReset: true '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /auth/password/reset/{resetToken}: post: summary: Reset user password description: Sets user's password to a new value operationId: password_reset tags: - AUTH security: [] parameters: - name: resetToken in: path description: The password reset token sent to the user's email in a link required: true schema: type: string description: Token used to activate or reset user's multi-factor authentication, or reset password pattern: ^[a-fA-F0-9]{64}$ minLength: 64 maxLength: 64 requestBody: required: true content: application/json: schema: type: object description: User's chosen password and confirmation to ensure it was entered correctly required: - secret - confirmation additionalProperties: false properties: secret: type: string description: User password minLength: 1 maxLength: 1001 pattern: .* confirmation: type: string description: User password minLength: 1 maxLength: 1001 pattern: .* x-permissions: - GLOBAL:PUBLIC responses: '204': description: Successfully reset user password. '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00002' httpCode: '400' message: Bad request '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found /auth/profile/activate/{activationToken}: post: summary: Activate user profile and set password description: Uses an authentication token sent to the user's email to activate the user's profile and set a password operationId: profile_activate tags: - AUTH security: [] parameters: - name: activationToken in: path description: The profile activation token sent to the user's email in a link required: true schema: type: string description: Token used to activate user's profile pattern: ^[a-fA-F0-9]{66}$ minLength: 66 maxLength: 66 requestBody: required: true content: application/json: schema: type: object description: User's chosen password and confirmation to ensure it was entered correctly required: - secret - confirmation additionalProperties: false properties: secret: type: string description: User password minLength: 1 maxLength: 1001 pattern: .* confirmation: type: string description: User password minLength: 1 maxLength: 1001 pattern: .* x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successfully activated user profile. Returns activation token for multi-factor authentication. content: application/json: schema: type: object description: Token used to activate user's multi-factor authentication required: - mfaActivationToken additionalProperties: false properties: mfaActivationToken: type: string description: Token used to activate or reset user's multi-factor authentication, or reset password pattern: ^[a-fA-F0-9]{64}$ minLength: 64 maxLength: 64 nullable: true example: mfaActivationToken: 60d74683dac6b049bddcf493881d62c4168c0a7b559329dc837c57ac4a67fa67 '204': description: Successfully activated user profile. Returned when multi-factor authentication is not enabled. '400': description: Bad request content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00002' httpCode: '400' message: Bad request '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found /auth/profile/is-activated/{activationToken}: get: summary: Check if user profile is already activated description: Checks if the activation token sent to user's email has already been used to activate their profile operationId: profile_is_activated tags: - AUTH security: [] parameters: - name: activationToken in: path description: The profile activation token sent to the user's email in a link required: true schema: type: string description: Token used to activate user's profile pattern: ^[a-fA-F0-9]{66}$ minLength: 66 maxLength: 66 x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successful operation content: application/json: schema: type: object description: User profile activation status required: - isActivated additionalProperties: false properties: isActivated: type: boolean description: Flag indicating if the user profile has already been activated nullable: true example: isActivated: true '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /auth/reset-credentials: post: summary: Request a reset credentials email description: Request an email with a password reset link, and a link for multi-factor authentication secret reset if multi-factor authentication is enabled operationId: reset_credentials tags: - AUTH security: [] requestBody: required: true content: application/json: schema: type: object description: Contains the email address of the user requesting reset of their credentials required: - email additionalProperties: false properties: email: description: User's email address type: string format: email pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ minLength: 4 maxLength: 254 x-permissions: - GLOBAL:PUBLIC responses: '200': description: If an account exists for the provided email address, instructions to reset your credentials will be sent shortly content: application/json: schema: type: object description: Successful response message required: - message properties: message: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: Success message indicating that, if the email exists, instructions will be sent. minLength: 10 maxLength: 115 example: message: If an account exists for the provided email address, instructions to reset your credentials will be sent shortly. '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '429': description: Too many requests content: application/json: schema: allOf: - description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ properties: content: type: object description: Additional information about the error properties: retryAfter: type: integer format: int64 description: Time in seconds after which the user can retry the request minimum: 0 maximum: 31536000 example: errorCode: nerve_auth_022 httpCode: '429' message: Reset credentials requests have exceeded the allowed limit for this user. The reset email was not sent. Please try again later. retryAfter: 120 /auth/verify-user-access: get: summary: Verify that user has a specific permission description: Internal endpoint used to verify that user has a specific permission, not intended for direct end-user usage. operationId: verify_user_access tags: - AUTH x-internal: true security: - cookieAuth: [] - sessionId: [] parameters: - name: permission in: query required: true allowReserved: true description: Name of the permission to check schema: type: string description: Permission name pattern: ^[A-Z_]+:[A-Z_]+$ minLength: 3 maxLength: 1000 responses: '204': description: The user session is valid '400': description: Route params validation error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00006' httpCode: '400' message: Route params validation error '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /auth/verify-user-session: get: summary: Verify that user has access to OpenSearch dashboards description: Internal endpoint for verifying a user's session, not intended for direct end-user usage. This route checks the session validity using either the sessionId stored in cookies or an authorization token in the request header to confirm whether the user has access to OpenSearch dashboards. operationId: verify_user_session tags: - AUTH x-internal: true security: - cookieAuth: [] - basicAuth: [] x-permissions: - AUTH:VERIFYSESSION responses: '204': description: The user session is valid headers: x-auth-user: description: Header containing user information schema: type: string pattern: ^[\x20-\x7E\t\n\r]*$ description: First and last name of the user, separated by a space, or their username minLength: 0 maxLength: 1000 x-auth-role: description: Header containing comma-separated OpenSearch roles assigned to the user schema: description: Comma-separated OpenSearch roles minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ '401': description: You are not authorized. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_auth_017 httpCode: '401' message: Not authorized to access logs. '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found /auth/wstunnel-cli: get: summary: Verify that the wstunnel-cli is authorized to open a tunnel description: Verify that the wstunnel CLI app (used by RTEM app) is authorized to open a tunnel operationId: wstunnel_cli tags: - AUTH x-internal: true security: - basicAuth: [] x-permissions: - GLOBAL:PUBLIC responses: '204': description: The wstunnel CLI app is verified '401': description: You are not authorized. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: nerve_auth_017 httpCode: '401' message: Not authorized to access logs. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '404': description: Not found content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: '00004' httpCode: '404' message: Not found '429': description: Brute force protection error, too many failed requests were made content: application/json: schema: allOf: - description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ properties: content: type: object description: Additional information about the error properties: retryAfter: type: integer format: int64 description: Time in seconds after which the user can retry the request minimum: 0 maximum: 31536000 example: errorCode: nerve_auth_001 httpCode: '429' message: Too many failed requests made! This account or IP address has been temporarily blocked. Please try again later. /auth/password-policy: get: summary: Returns the current password policy settings description: Returns the password policy settings defined in the configuration file. operationId: password_policy tags: - AUTH x-internal: true security: [] x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successful operation content: application/json: schema: type: object description: Password policy settings on the Management System required: - maxLength - minLength - requireUppercase - requireLowercase - requireNumbers - requireSpecialChars additionalProperties: false properties: maxLength: type: integer format: int32 description: Maximum length of user passwords minimum: 1 maximum: 100 minLength: type: integer format: int32 description: Minimum length of user passwords minimum: 1 maximum: 100 requireUppercase: type: boolean description: Flag indicating if at least one uppercase letter is required in user passwords requireLowercase: type: boolean description: Flag indicating if at least one lowercase letter is required in user passwords requireNumbers: type: boolean description: Flag indicating if at least one number is required in user passwords requireSpecialChars: type: boolean description: Flag indicating if at least one special character is required in user passwords example: maxLength: 100 minLength: 10 requireUppercase: false requireLowercase: true requireNumbers: true requireSpecialChars: true /nerve/update/cloud/current-version: get: summary: Get the current version of the cloud operationId: current_cloud_version security: [] tags: - NERVE_UPDATE description: 'Retrieve the current version of the cloud. This version number is shown when the user hovers over "System Info" at the bottom of the side bar menu. ' x-permissions: - GLOBAL:PUBLIC responses: '200': description: Successfully retrieved the current cloud version content: application/json: schema: type: object description: The current version of the Management System. additionalProperties: false required: - buildDate - currentVersion - gitCommit properties: buildDate: type: string description: The build date of the current version. pattern: ^\d{2}/\d{2}/\d{4}$ minLength: 10 maxLength: 10 currentVersion: type: string description: The version name of the Management System or the version of the node minLength: 5 maxLength: 150 pattern: ^.+$ example: 2.10.0 gitCommit: type: string description: The Git commit hash associated with the current version. pattern: ^[0-9a-f]{40}$ minLength: 1 maxLength: 40 example: buildDate: 15/02/2025 currentVersion: 2.10.0 gitCommit: 223811ea0a8752f91135c9743a83675f82401771 '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: update_service_006 httpCode: '500' message: Failed to fetch current cloud version. Please check logs for more details. /nerve/update/cloud/incompatible-nodes/{version}: get: summary: Get the list of incompatible nodes compared to the specific MS version operationId: incompatible_nodes tags: - NERVE_UPDATE description: 'This endpoint retrieves a list of nodes that are incompatible with specified MS version to which the system can update. ' parameters: - name: version in: path required: true description: The version of the Management System schema: type: string description: The version name of the Management System or the version of the node minLength: 5 maxLength: 150 pattern: ^.+$ example: 2.10.0 x-permissions: - VERSION:UPDATE responses: '200': description: Successfully retrieved the list of incompatible nodes content: application/json: schema: type: object description: The list of nodes that are not compatible with specified MS versions. additionalProperties: false required: - nodes properties: nodes: type: array description: The list of nodes that are not compatible with specified MS versions. minItems: 0 maxItems: 1000 items: type: object additionalProperties: false required: - name - currentFWVersion properties: name: type: string description: The name of the node minLength: 1 maxLength: 40 pattern: ^\s*(?=[a-zA-Z0-9_ -]+$)\S.*$ currentFWVersion: minLength: 0 maxLength: 1000 description: Node version(e.g. 2.5) default: '' type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: nodes: - name: test_node_1 currentFWVersion: 3.2.0 - name: test_node_2 currentFWVersion: 3.0.0 '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized '500': description: Internal server error content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: errorCode: update_service_007 httpCode: '500' message: Failed to fetch incompatible nodes. Please check logs for more details. /nerve/update/local-node-update: get: summary: Get the list of available node update versions operationId: local_node_update_versions tags: - NERVE_UPDATE description: 'This endpoint is used to retrieve the list of available node update versions. The list of available versions is fetched from the Nerve Software Center and saved to Management System (MS) database. The list of available versions is used to update node devices connected to Management System. ' x-permissions: - NODE_UPDATE:LIST responses: '200': description: Successfully retrieved the list of available node update versions content: application/json: schema: type: object description: The list of available node update versions. additionalProperties: false required: - nodeUpdates properties: nodeUpdates: type: array description: The list of available node update versions. minItems: 0 maxItems: 200 items: type: object additionalProperties: false required: - name - releaseDate properties: name: type: string description: The version name of the Management System or the version of the node minLength: 5 maxLength: 150 pattern: ^.+$ example: 2.10.0 releaseDate: oneOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object description: The release date of the version. nullable: true example: '2022-03-18T00:00:00.000Z' example: nodeUpdates: - name: 2.8.0 releaseDate: '2022-03-18T00:00:00.000Z' - name: 3.0.0 releaseDate: '2024-05-18T00:00:00.000Z' '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /nerve/update/node/details-by-name: get: summary: Get the details of a node update version operationId: node_update_details tags: - NERVE_UPDATE description: "Retrieve the details of a node update version. This includes information about the version, its release date, updateFrom and updateTo version lists \n" parameters: - name: versionName in: query required: true description: The version of the node update schema: type: string description: The version name of the Management System or the version of the node minLength: 5 maxLength: 150 pattern: ^.+$ example: 2.10.0 x-permissions: - NODE_UPDATE:DETAILS responses: '200': description: Successfully retrieved the details of the node update version content: application/json: schema: type: object description: The details of the node update version. required: - nodeUpdateDetails additionalProperties: false properties: nodeUpdateDetails: type: array description: The list of node update versions minItems: 0 maxItems: 200 items: type: object additionalProperties: false required: - name - releaseDate - updateFrom - updateTo properties: name: type: string description: The version name of the Management System or the version of the node minLength: 5 maxLength: 150 pattern: ^.+$ example: 2.10.0 releaseDate: oneOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object description: The release date of the version. nullable: true example: '2022-03-18T00:00:00.000Z' updateFrom: type: array description: The list of versions that can be updated to this version. minItems: 0 maxItems: 20 items: type: string description: The version name of the Management System or the version of the node minLength: 5 maxLength: 150 pattern: ^.+$ example: 2.10.0 updateTo: type: array description: A list of versions to which specific version can be updated. minItems: 0 maxItems: 20 items: type: object required: - version - release_date additionalProperties: false properties: version: type: string description: The version name of the Management System or the version of the node minLength: 5 maxLength: 150 pattern: ^.+$ example: 2.10.0 release_date: oneOf: - type: string description: The release date of the version in short format. pattern: ^\d{4}-\d{2}-\d{2}$ minLength: 10 maxLength: 10 example: '2022-03-18' - type: object description: The release date of the version. nullable: true example: '2022-03-18' example: - version: 2.4.2 release_date: '2022-03-18' - version: 2.6.1 release_date: '2024-02-13' hardwareModel: description: The name of the hardware model (hardware model must be defined in the database) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ example: nodeUpdateDetails: - hardwareModel: mfn-100 name: 2.4.2 releaseDate: '2022-03-18T00:00:00.000Z' updateFrom: - 2.0.0 - 2.2.0 updateTo: - version: 2.6.1 release_date: '2023-03-18' - version: 2.8.0 release_date: '2024-02-13' '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /nerve/update/fetch-node-updates: get: summary: Trigger fetch of node updates from the NSC operationId: fetch_node_updates description: 'This endpoint triggers fetch of available node updates from the Nerve Software Center. Available updates are stored in the Nerve database and can be listed using a dedicated endpoint. ' tags: - NERVE_UPDATE x-permissions: - NODE_UPDATE:LIST responses: '200': description: Successfully triggered fetch of node updates content: application/json: schema: type: object description: The result of the fetch operation. additionalProperties: false required: - message properties: message: type: string pattern: ^.*$ minLength: 15 maxLength: 100 description: The result of the fetch operation. example: Node updates successfully pulled and stored in database. examples: success: summary: Successful fetch value: message: Node updates successfully pulled and stored in database. no_updates: summary: No updates available value: message: No available node updates from Nerve Software Center. error: summary: Fetch failed value: message: Unable to store available node versions. Check logs for more details. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /nerve/update/cloud/fetch-available-versions: get: summary: Trigger fetch of available cloud update versions from the NSC operationId: fetch_available_versions description: 'This endpoint triggers fetch of available cloud update versions from the Nerve Software Center. ' tags: - NERVE_UPDATE x-permissions: - VERSION:UPDATE responses: '200': description: Successfully triggered fetch of available cloud update versions from Nerve Software Center content: application/json: schema: type: object description: The result of the fetch operation. additionalProperties: false required: - message properties: message: type: string pattern: ^.*$ minLength: 15 maxLength: 100 description: The result of the fetch operation. example: Cloud updates successfully pulled and stored in database. examples: success: summary: Successful fetch value: message: Available cloud update versions fetched from NSC. error: summary: Fetch failed value: message: Failed to fetch latest available cloud update versions from NSC. Check logs for more details. '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /nerve/update/cloud/available-versions: get: summary: Get available MS update versions for current cloud version operationId: available_cloud_update_versions description: 'This endpoint retrieves the available update versions for the current cloud version. The response includes a list of available versions with specific information about each. ' tags: - NERVE_UPDATE x-permissions: - VERSION:LIST responses: '200': description: Get the list of available cloud update versions for current MS version content: application/json: schema: type: object description: The response containing the list of available update versions. additionalProperties: false required: - versions properties: versions: type: array minItems: 0 maxItems: 200 description: A list of available update versions. items: type: object additionalProperties: false required: - version - release_date properties: version: type: string description: The version name of the Management System or the version of the node minLength: 5 maxLength: 150 pattern: ^.+$ example: 2.10.0 release_date: oneOf: - type: string description: Date and time in ISO 8601 format format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$ minLength: 24 maxLength: 24 - type: object description: The release date of the version. nullable: true example: '2022-03-18T00:00:00.000Z' example: versions: - version: 2.8.0 release_date: '2022-03-18T00:00:00.000Z' - version: 3.0.0 release_date: '2024-05-18T00:00:00.000Z' '403': description: You are not authorized to perform this operation content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_authorized: value: errorCode: '00003' httpCode: '403' message: You are not authorized /nerve/internal-test-api/config/{parameter}/reload: post: summary: Reload configuration for a specific parameter from `configuration.yaml` description: "This endpoint enables dynamic reloading of a specific configuration parameter from the `configuration.yaml` file. \nPreviously, updating a configuration required modifying the configuration.yaml\ \ file and restarting the MS to apply changes. This API eliminates the need to restart MS - changes take effect immediately by triggering a reload of the specific parameter, which simplifies testing.\ \ Currently, only the `password_policy` parameter is supported.\nDesigned exclusively for the Test team — not for production use!!!" operationId: config_reload tags: - INTERNAL_TEST_API security: [] x-internal: true parameters: - name: parameter in: path required: true description: Name of the top-level key in the configuration.yaml file. schema: description: The parameter name from the configuration.yaml file, one of top-level keys. type: string minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9_]+$ x-permissions: - GLOBAL:PUBLIC responses: '200': description: The current configuration of the parameter. content: application/json: schema: type: object description: An object representing the value of a top-level key in the configuration.yaml file. examples: password_policy: value: password_expiry_period_days: 365 min_length: 8 max_length: 100 require_uppercase: true require_lowercase: true require_numbers: true require_special_chars: false '404': description: Returned when the provided configuration parameter is not found in configuration.yaml file. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_found: value: message: Parameter not found in configuration. Please check the parameter name. httpCode: '404' errorCode: nerve_internal_test_api_004 '500': description: Returned when unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: reload_error: value: message: Failed to reload the configuration for the specified parameter. httpCode: '500' errorCode: nerve_internal_test_api_005 /nerve/internal-test-api/config/{parameter}: patch: summary: Modify configuration for a specific parameter from `configuration.yaml` file description: 'This endpoint enables dynamic modification of a specific configuration parameter from the `configuration.yaml` file. This API eliminates the need to manually edit the configuration.yaml file — changes take effect immediately by triggering an update of the specified parameter, simplifying testing. Currently, only the `password_policy; remote_connection` parameters are supported. Designed exclusively for the Test team — not for production use!!!' operationId: config_modify tags: - INTERNAL_TEST_API x-internal: true security: [] parameters: - name: parameter in: path required: true description: Name of the top-level key in the configuration.yaml file. schema: description: The parameter name from the configuration.yaml file, one of top-level keys. type: string minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9_]+$ requestBody: description: New parameter configuration required: true content: application/json: schema: type: object description: A new parameter configuration required: - config properties: config: type: object description: An object representing the value of a top-level key in the configuration.yaml file. examples: password_policy: value: config: password_expiry_period_days: 365 min_length: 8 max_length: 100 require_uppercase: true require_lowercase: true require_numbers: true require_special_chars: false x-permissions: - GLOBAL:PUBLIC responses: '202': description: Successful operation, configuration modification initiated. '404': description: Returned when the provided configuration parameter is not found in configuration.yaml file. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_found: value: message: Parameter not found in configuration. Please check the parameter name. httpCode: '404' errorCode: nerve_internal_test_api_004 '500': description: Returned when unexpected error occurred. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: modify_error: value: message: Failed to modify parameter configuration. httpCode: '500' errorCode: nerve_internal_test_api_006 get: summary: Get the configuration for a specific parameter from `configuration.yaml` file description: 'This endpoint retrieves a configuration of a specific parameter from the `configuration.yaml` file. This API does not take into account changes made through the modify/reload endpoint - it simply returns the values currently present in the configuration.yaml file. Designed exclusively for the Test team — not for production use!!!' operationId: get_config tags: - INTERNAL_TEST_API x-internal: true security: [] parameters: - name: parameter in: path required: true description: Name of the top-level key in the configuration.yaml file. schema: description: The parameter name from the configuration.yaml file, one of top-level keys. type: string minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9_]+$ x-permissions: - GLOBAL:PUBLIC responses: '200': description: The current configuration of the parameter from configuration.yaml file content: application/json: schema: type: object description: An object representing the value of a top-level key in the configuration.yaml file. examples: password_policy: value: password_expiry_period_days: 365 min_length: 8 max_length: 100 require_uppercase: true require_lowercase: true require_numbers: true require_special_chars: false '404': description: Requested parameter does not exist in configuration.yaml file. content: application/json: schema: description: Generic error response returned from the server in case of a failed operation. properties: errorCode: description: String that is used as a key for appropriate translation on the front-end application. type: string minLength: 4 maxLength: 100 pattern: ^[a-zA-Z0-9_-]*$ httpCode: description: Http error code assigned to the error. type: string minLength: 3 maxLength: 3 pattern: ^[0-9]*$ message: description: Error message in English. minLength: 5 maxLength: 512 type: string pattern: ^[\x20-\x7E\t\n\r]*$ examples: not_found: value: message: Parameter not found in configuration. Please check the parameter name. httpCode: '404' errorCode: nerve_internal_test_api_004 /nerve/internal-test-api/mqtt: post: summary: Publish an MQTT message for testing description: "This endpoint is used to publish a custom MQTT message to a specified topic. \nNo validation is performed on the payload structure, allowing full control over the message.\nDesigned\ \ exclusively for the Test team — not for production use!!!" operationId: publish_mqtt_message tags: - INTERNAL_TEST_API x-internal: true security: [] requestBody: description: MQTT message required: true content: application/json: schema: description: Object including topic to which to publish MQTT message and the message payload type: object additionalProperties: false required: - topic - message properties: topic: type: string description: The topic to which the MQTT message will be published. minLength: 5 maxLength: 500 pattern: ^[a-zA-Z0-9_-]+(/[a-zA-Z0-9_-]+)*$ message: description: The message payload to be sent. type: object required: - name - params properties: name: type: string description: Unique message name minLength: 3 maxLength: 200 pattern: ^[a-zA-Z0-9_-]+$ params: type: object description: Message payload to be sent examples: password_policy: value: message: name: parameter_config_reloaded params: parameter: password_policy value: password_expiry_period_days: 15 min_length: 5 max_length: 100 require_uppercase: true require_lowercase: true require_numbers: true require_special_chars: false topic: nerve_internal_test_api/config x-permissions: - GLOBAL:PUBLIC responses: '204': description: Successful operation. components: securitySchemes: sessionId: type: apiKey in: header name: sessionId basicAuth: type: http scheme: basic cookieAuth: type: apiKey in: header name: cookie bearerAuth: type: http scheme: bearer schemas: v2_create_workload: type: object description: Create Workload - V2 API endpoint anyOf: - type: object description: Create workload without versions - request payload V2 API allOf: - type: object description: Generic information about workload required: - name properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ - type: object required: - type - versions properties: type: type: string description: Workload type enum: - codesys - docker - vm versions: type: array maxItems: 0 - type: object description: Create CODESYS workload- request payload schema V2 API endpoint allOf: - type: object description: Generic information about workload required: - name properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ - type: object required: - type - versions properties: type: type: string enum: - codesys versions: type: array minItems: 1 maxItems: 1 items: type: object description: Codesys create version with remote connections allOf: - description: Codesys create version type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object required: - files properties: files: type: object required: - '0' properties: '0': type: object required: - originalName properties: fieldname: type: string description: Identifier of the file field enum: - file originalName: type: string description: Name of the uploaded file - type: object properties: remoteConnections: type: array items: type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object description: Create VM workload - request payload schema V2 API endpoint allOf: - type: object description: Generic information about workload required: - name properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ - type: object required: - type - versions properties: type: type: string enum: - vm versions: type: array minItems: 1 maxItems: 1 items: type: object description: VM version create allOf: - type: object description: Version general data, remote connection and vm properties as object allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - type: object required: - files properties: files: type: object required: - '0' - '1' properties: '0': type: object required: - originalName properties: originalName: type: string description: Name of the uploaded file '1': type: object required: - originalName properties: originalName: type: string description: Name of the uploaded file - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object description: Create Docker workload V2 API endpoint allOf: - type: object description: Generic information about workload required: - name properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ - type: object required: - type - versions properties: type: type: string enum: - docker versions: type: array minItems: 1 maxItems: 1 items: anyOf: - type: object description: Create docker version with remote connections using docker image form registry allOf: - type: object description: Docker version with remote connections and docker properties allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false - type: object required: - dockerFileOption - dockerFilePath properties: dockerFileOption: type: string enum: - path dockerFilePath: description: name of the docker image type: string pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ minLength: 2 maxLength: 354 - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object allOf: - type: object description: Docker version with remote connections and docker properties allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false - type: object required: - dockerFileOption - files properties: dockerFileOption: type: string enum: - file files: type: object required: - '0' properties: '0': type: object required: - originalName properties: fieldname: type: string description: Identifier of the file field enum: - file originalName: type: string description: Name of the uploaded file - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 v2_update_workload: type: object description: Used to add a new workload version or to update the existing version - V2 API endpoint oneOf: - type: object description: Update workload without versions - request payload V2 API allOf: - allOf: - type: object description: Generic information about workload required: - name properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ - type: object required: - _id properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object required: - type - versions properties: type: type: string description: Workload type enum: - codesys - docker - vm versions: type: array maxItems: 0 - type: object description: Update CODESYS workload - request payload schema V2 API endpoint allOf: - allOf: - type: object description: Generic information about workload required: - name properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ - type: object required: - _id properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object required: - type - versions properties: type: type: string enum: - codesys versions: type: array minItems: 1 maxItems: 1 items: anyOf: - description: Codesys create version with remote connections type: object allOf: - description: Codesys create version type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object required: - files properties: files: type: object required: - '0' properties: '0': type: object required: - originalName properties: fieldname: type: string description: Identifier of the file field enum: - file originalName: type: string description: Name of the uploaded file - type: object properties: remoteConnections: type: array items: type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: Codesys update version with remote connections type: object allOf: - description: Codesys update version type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object required: - _id - files properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 files: anyOf: - type: array minItems: 1 maxItems: 1 items: type: object required: - originalName properties: fieldname: type: string description: Identifier of the file field enum: - file originalName: type: string description: Name of the uploaded file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file capabilities: type: array items: type: object required: - name - _id properties: name: type: string enum: - CODESYS PLC description: type: string _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object properties: remoteConnections: type: array items: type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Codesys clone version with remote connections type: object allOf: - description: Codesys clone version type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object required: - files properties: files: anyOf: - type: array minItems: 1 maxItems: 1 items: type: object required: - originalName properties: fieldname: type: string description: Identifier of the file field enum: - file originalName: type: string description: Name of the uploaded file - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file - type: object properties: remoteConnections: type: array items: type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object description: Update VM workload - request payload schema V2 API endpoint allOf: - allOf: - type: object description: Generic information about workload required: - name properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ - type: object required: - _id properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object required: - type - versions properties: type: type: string enum: - vm versions: type: array minItems: 1 maxItems: 1 items: anyOf: - type: object description: VM version create allOf: - type: object description: Version general data, remote connection and vm properties as object allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - type: object required: - files properties: files: type: object required: - '0' - '1' properties: '0': type: object required: - originalName properties: originalName: type: string description: Name of the uploaded file '1': type: object required: - originalName properties: originalName: type: string description: Name of the uploaded file - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object description: VM version update allOf: - type: object description: Version general data, remote connection and vm properties as object allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - type: object required: - files properties: files: type: array minItems: 2 maxItems: 2 items: anyOf: - type: object allOf: - type: object required: - originalName properties: originalName: type: string description: Name of the uploaded file - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file1 - file2 - allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - _id - capabilities properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 capabilities: type: array minItems: 1 maxItems: 3 items: type: object minProperties: 1 required: - name - _id properties: description: type: string name: type: string enum: - Virtualization - Virtualization via XEN - Virtualization via KVM - Virtualization via ACRN - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object description: VM version clone allOf: - type: object description: Version general data, remote connection and vm properties as object allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: VM specific properties type: object required: - no_of_vCPUs - memory properties: no_of_vCPUs: type: integer description: Number of CPUs for VM format: int32 minimum: 1 maximum: 1000 memory: oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB data_disks: type: array description: List of data disks minItems: 0 maxItems: 1001 items: oneOf: - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in KB type: number minimum: 100000 maximum: 32000000 disk_unit: description: Data disk size unit enum: - KB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in MB type: number minimum: 100 maximum: 32000 disk_unit: description: Data disk size unit enum: - MB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in GB type: number minimum: 0.1 maximum: 32 disk_unit: description: Data disk size unit enum: - GB - type: object required: - data_disk - disk_size - disk_unit properties: data_disk: description: The name of data disk type: string pattern: ^[a-zA-Z0-9_]+$ minLength: 1 maxLength: 1000 disk_size: description: Data disk size in TB type: number minimum: 0.0001 maximum: 0.032 disk_unit: description: Data disk size unit enum: - TB libvirt_networks: type: array description: List of connected libvirt networks minItems: 0 maxItems: 1001 items: anyOf: - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - Bridged interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - type - interface properties: type: type: string description: Type of the network enum: - NAT interface: description: Name of the network interface minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ port_forwards: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 PCI_passthrough: type: array minItems: 0 maxItems: 1001 description: List of PCI devices passed through to the VM items: type: string pattern: ^(pci_)[a-f0-9]{4}_[a-f0-9]{2}_[a-f0-9]{2}_[a-f0-9]{1}$ minLength: 1 maxLength: 1000 snapshot: type: object description: VM snapshot configuration required: - enabled properties: enabled: type: boolean description: Flag indicating whether snapshot is enabled unit: description: Unit of the snapshot value anyOf: - type: string enum: - KB - MB - GB - TB - type: string enum: - '' value: description: Snapshot value type: integer format: int32 minimum: 0 maximum: 1000000 - type: object required: - files properties: files: type: array minItems: 2 maxItems: 2 items: anyOf: - type: object allOf: - type: object required: - originalName properties: originalName: type: string description: Name of the uploaded file - type: object required: - fieldName properties: fieldName: type: string description: Identifier of the file field enum: - file1 - file2 - allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: fieldName: description: Name of the file type: string enum: - file1 - file2 containFileType: type: string description: File type contained in the ZIP archive enum: - .img - .raw - .qcow2 - .vhdx - '' virtualSize: description: Virtual size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ maxFileSize: description: Maximum size of the disk image minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object description: Update docker workload - V2 API endpoint allOf: - allOf: - type: object description: Generic information about workload required: - name properties: name: type: string description: Workload name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) description: description: Workload description field type: string minLength: 0 maxLength: 300 pattern: ^[\s\S]*$ - type: object required: - _id properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - required: - type - versions properties: type: type: string enum: - docker versions: type: array minItems: 1 maxItems: 1 items: anyOf: - type: object description: Create docker version with remote connections using docker image form registry allOf: - type: object description: Docker version with remote connections and docker properties allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false - type: object required: - dockerFileOption - dockerFilePath properties: dockerFileOption: type: string enum: - path dockerFilePath: description: name of the docker image type: string pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ minLength: 2 maxLength: 354 - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object allOf: - type: object description: Docker version with remote connections and docker properties allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false - type: object required: - dockerFileOption - files properties: dockerFileOption: type: string enum: - file files: type: object required: - '0' properties: '0': type: object required: - originalName properties: fieldname: type: string description: Identifier of the file field enum: - file originalName: type: string description: Name of the uploaded file - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object description: Update docker image which is downloaded from registry allOf: - type: object description: Create docker version with remote connections using docker image form registry allOf: - type: object description: Docker version with remote connections and docker properties allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false - type: object required: - dockerFileOption - dockerFilePath properties: dockerFileOption: type: string enum: - path dockerFilePath: description: name of the docker image type: string pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ minLength: 2 maxLength: 354 - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object required: - files properties: files: type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: Create docker version with remote connections using uploaded docker image type: object allOf: - type: object description: Docker version with remote connections and docker properties allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false - type: object required: - dockerFileOption - files properties: dockerFileOption: type: string enum: - file files: anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: type: object required: - originalName properties: fieldname: type: string description: Identifier of the file field enum: - file originalName: type: string description: Name of the uploaded file - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object description: Docker clone version allOf: - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 cloneOf: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 anyOf: - required: - _id - required: - cloneOf - type: object anyOf: - type: object description: Update docker image which is downloaded from registry allOf: - type: object description: Create docker version with remote connections using docker image form registry allOf: - type: object description: Docker version with remote connections and docker properties allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false - type: object required: - dockerFileOption - dockerFilePath properties: dockerFileOption: type: string enum: - path dockerFilePath: description: name of the docker image type: string pattern: ^(?:(?=.{1,255}(?::|$))([a-z0-9.-]+(:[0-9]+)?\/)?([a-z0-9]+(?:[._-][a-z0-9]+)*)(\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?)?$ minLength: 2 maxLength: 354 - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - type: object required: - files properties: files: type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 - description: Create docker version with remote connections using uploaded docker image type: object allOf: - type: object description: Docker version with remote connections and docker properties allOf: - type: object allOf: - type: object description: General information about workload version required: - name - releaseName properties: name: type: string description: Version name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) releaseName: type: string description: Release name minLength: 1 maxLength: 40 pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) released: type: boolean default: false selectors: type: array items: type: object required: - key - value properties: key: description: Definition of a label key property type: string minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9_-]*$ value: description: Definition of a label value property type: string minLength: 1 maxLength: 40 pattern: ^[^\s]*$ - type: object properties: remoteConnections: type: array items: description: Array of different remote connection types. anyOf: - type: object description: Remote tunnel required: - name - acknowledgment - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string minLength: 0 maxLength: 0 pattern: ^$ description: Target hostname or ip address to which connection is established port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object description: Remote tunnel required: - name - acknowledgment - hostname - port - localPort - type properties: type: type: string description: Remote connection type enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ localPort: description: Port on local PC to establish remote tunnel oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen VNC allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection - password properties: connection: type: string description: Remote screen type enum: - VNC password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen SSH allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - description: Remote screen RDP allOf: - anyOf: - type: object required: - name - numberOfConnections - acknowledgment - hostname - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type properties: type: type: string description: Remote connection type enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) oneOf: - type: integer format: int32 minimum: 0 maximum: 65535 description: Port which is used to establish connection - type: string pattern: ^\d+$ autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean oldName: description: Old remote connection name minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - connection properties: connection: type: string description: Remote screen type enum: - RDP username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls - type: object required: - workloadProperties properties: workloadProperties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry restartOnConfigurationUpdate: type: boolean description: Indicator if container will be restarted when applying configuration default: false - type: object required: - dockerFileOption - files properties: dockerFileOption: type: string enum: - file files: anyOf: - type: array minItems: 1 maxItems: 1 items: allOf: - type: object required: - compressedSize - hash - name - originalName - path - size - type - _id properties: compressedSize: description: Size of compressed file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hash: description: Calculated hash minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ path: description: File path within 'workload' folder minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ size: description: Size of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ type: description: Type of the file minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ _id: description: File id oneOf: - type: object - type: string - type: object required: - fieldName properties: imageId: description: Id of the image if dockerFileOption is path minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ fieldName: type: string description: Identifier of the file field enum: - file - type: array minItems: 1 maxItems: 1 items: type: object required: - originalName properties: fieldname: type: string description: Identifier of the file field enum: - file originalName: type: string description: Name of the uploaded file - type: object properties: _id: description: ID (from Management System) of the entry type: string pattern: ^[0-9a-fA-F]{24}$ minLength: 24 maxLength: 24 v3_add_edit_file: type: object description: Add/edit file request payload allOf: - description: File information type: object required: - type - origin - source properties: type: description: Type of workload file being submitted type: string enum: - compose - docker-image origin: description: From where file comes to MS type: string enum: - docker-repo - upload - clone source: description: Value depends on origin field - If origin is docker repo, it is image name or image url - If origin is upload, it is name of the form field which carries file - If origin is clone, it is the ID of the file being cloned minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ name: description: Name of the archived file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ originalName: description: Name of the uploaded file or name of the docker image (docker and docker-compose workloads that are using registry) minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object properties: username: description: If source requires authentication, it is username to be used type: string minLength: 1 maxLength: 1000 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: If source requires authentication, it is password to be used minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ add_edit_notification: type: object description: Add/edit notification request payload required: - headerText - textMessage additionalProperties: false properties: active: type: string description: Represents whether notification should be shown or not. Only active notification will be shown in dialog. enum: - 'true' - 'false' backgroundImage: description: The path to the uploaded background image for dialog notification. default: '' minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ headerText: type: string description: Title of the notification minLength: 1 maxLength: 60 pattern: ^[^\u0000-\u001f\u007f-\u009f]*$ showBeforeLogin: type: string description: Represents whether notification should be shown before user has been logged in or after enum: - 'true' - 'false' textMessage: description: Text of the notification message minLength: 1 maxLength: 10000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ rc_docker: type: object required: - schemaVersion - remoteConnections properties: schemaVersion: type: string remoteConnections: type: array items: type: object oneOf: - type: object required: - name - acknowledgment - port - localPort - type additionalProperties: false properties: type: type: string enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - password additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string enum: - VNC password: description: Password to use when attempting authentication minLength: 1 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - ignoreServerCertificate additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string enum: - RDP securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ rc_vm: type: object required: - schemaVersion - remoteConnections properties: schemaVersion: type: string remoteConnections: type: array items: type: object oneOf: - type: object required: - name - acknowledgment - hostname - port - localPort - type additionalProperties: false properties: type: type: string enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - hostname - connection additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - password additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string enum: - VNC password: description: Password to use when attempting authentication minLength: 1 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - ignoreServerCertificate - hostname additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string enum: - RDP securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ rc_codesys: type: object required: - schemaVersion - remoteConnections properties: schemaVersion: type: string remoteConnections: type: array items: type: object required: - name - acknowledgment - hostname - port - localPort - type additionalProperties: false properties: type: type: string enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel rc_compose: type: object required: - schemaVersion - remoteConnections properties: schemaVersion: type: string remoteConnections: type: array items: type: object oneOf: - type: object required: - name - acknowledgment - port - localPort - type - serviceName additionalProperties: false properties: type: type: string enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - serviceName additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - password - serviceName additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string enum: - VNC password: description: Password to use when attempting authentication minLength: 1 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - ignoreServerCertificate - serviceName additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string enum: - RDP securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target serviceName: type: string nullable: true description: A extra parameter of the remote connection for 'docker-compose' workload. Refers to one of the services listed in the compose YAML file, a service(container) for which remote connection has been configured. This is a mandatory parameter for remote connections for 'docker-compose' workloads, but not for other workload types. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ rc_node: type: object required: - schemaVersion - remoteConnections properties: schemaVersion: type: string remoteConnections: type: array items: type: object oneOf: - type: object required: - name - acknowledgment - hostname - port - localPort - type additionalProperties: false properties: type: type: string enum: - TUNNEL name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) localPort: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on local PC to establish remote tunnel - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - hostname - connection additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ connection: type: string description: Remote screen type enum: - SSH username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ privatekeyFlag: type: boolean default: false description: Option to choose authentication via private SSH key privateKey: description: The contents of the private key to use for authentication minLength: 0 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - password - hostname additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string enum: - VNC password: description: Password to use when attempting authentication minLength: 1 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ - type: object required: - name - numberOfConnections - acknowledgment - port - autoretry - type - readOnly - swapRedBlue - connection - ignoreServerCertificate - hostname additionalProperties: false properties: type: type: string enum: - SCREEN name: type: string description: Remote connection name pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$)) minLength: 1 maxLength: 40 numberOfConnections: type: integer format: int32 description: The maximum number of simultaneous connections minimum: 1 maximum: 100 acknowledgment: type: string description: Defines if local acknowledgement is required to establish a connection. To confirm connection, it is necessary to have access to the LocalUI web application. enum: - 'Yes' - 'No' port: type: integer format: int32 minimum: 0 maximum: 65535 description: Port on the target to which connection is established (port on the node for opening tunnel to chisel server) autoretry: type: integer format: int32 description: The number of times to retry connecting before giving up and returning an error minimum: 1 maximum: 3 cursor: type: string description: 'Defines if the cursor is rendered locally or remotely ' enum: - '' - local - remote readOnly: type: boolean description: Defines whether the connection should be read-only. swapRedBlue: description: Specifies whether the red and blue indicators for the remote connection should be swapped type: boolean connection: type: string enum: - RDP securityMode: type: string description: Dictates how data will be encrypted and what type of authentication will be performed enum: - '' - any - nla - rdp - tls ignoreServerCertificate: type: boolean default: false description: Defines if the server certificate should be ignored when connecting to the target hostname: type: string description: Target hostname or ip address to which connection is established minLength: 1 maxLength: 40 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ username: type: string description: Username to use for authentication minLength: 0 maxLength: 40 pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$ password: description: Password to use when attempting authentication minLength: 0 maxLength: 40 type: string pattern: ^[\x20-\x7E\t\n\r]*$ v3_docker_wl_specific_properties: description: Docker specific properties type: object required: - container_name properties: container_name: type: string description: Docker container name minLength: 2 maxLength: 100 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$ restart_policy: description: Restart policy for docker container anyOf: - type: string description: Restart policy for docker container enum: - 'no' - on-failure - always - unless-stopped - type: string enum: - '' networks: type: array description: List of connected networks minItems: 0 maxItems: 1001 items: minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ docker_volumes: description: List of mapped volumes minItems: 0 maxItems: 1001 type: array items: type: object required: - volumeName - containerPath - configurationStorage properties: volumeName: description: Name of the volume minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ containerPath: description: Path inside the container where the volume is mapped minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ configurationStorage: type: boolean description: Flag indicating whether the volume is used for configuration storage environment_variables: minItems: 0 maxItems: 1001 type: array description: List of environment variables items: type: object required: - env_variable - container_value properties: env_variable: type: string description: Name of the environment variable pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$ minLength: 1 maxLength: 1000 container_value: description: Value of the environment variable minLength: 1 maxLength: 1000 type: string pattern: ^[\x20-\x7E\t\n\r]*$ limit_CPUs: description: CPU limit for the container anyOf: - type: integer format: int64 minimum: 1 maximum: 1000 - type: string enum: - '' limit_memory: description: Memory limit for the container anyOf: - oneOf: - type: object description: Memory limit in KB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in KB minimum: 100000 unit: description: Memory limit unit enum: - KB - type: object description: Memory limit in MB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: type: number description: Memory limit value in MB minimum: 100 unit: description: Memory limit unit enum: - MB - type: object description: Memory limit in GB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in GB type: number minimum: 0.1 unit: description: Memory limit unit enum: - GB - type: object description: Memory limit in TB minProperties: 2 maxProperties: 2 required: - value - unit properties: value: description: Memory limit value in TB type: number minimum: 9.999999999999999e-05 unit: description: Memory limit unit enum: - TB - type: object maxProperties: 0 port_mappings_protocol: type: array description: List of port mappings minItems: 0 maxItems: 20 items: type: object description: Port mapping object containing information about protocol, host port and container port required: - protocol - host_port - container_port properties: protocol: type: string description: Protocol used for port mapping enum: - TCP - UDP host_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 container_port: type: integer format: int32 description: Port number minimum: 0 maximum: 65535 auth_credentials: type: object description: Credentials for private docker registry v3_docker_compose_wl_specific_properties: type: object description: An object containing a specific properties for docker-compose workload type additionalProperties: false properties: dockerConfigurationStorage: type: array minItems: 0 maxItems: 1001 description: 'List of configuration storages defined for each service individually. NOTE:: Currently there will be only one service in the docker-compose file. In the future, there will be more.' items: type: object description: An object containing information about volumes marked to be used as configuration storage for a particular service additionalProperties: false required: - volumeName - serviceName - containerPath properties: volumeName: type: string description: 'The docker volume name. The name is extracted from docker-compose file. Volume name can only contain numbers, letters, _ and -. NOTE: For now only volume name is allowed. Bind mount points are not allowed.' pattern: ^[A-z0-9-.]*$ minLength: 1 maxLength: 1000 serviceName: type: string description: The name of the service to which the configuration refers. The service name is extracted from the docker-compose file. Service name can only contain numbers, letters,_ and -. pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ minLength: 1 maxLength: 40 restartOnConfigurationUpdate: type: boolean description: Indicates whether the docker container should be restarted on configuration update or not default: false containerPath: type: string description: The path in the container where the volume is mounted pattern: ^[A-z0-9/.-]*$ minLength: 1 maxLength: 1000 security: - sessionId: []