openapi: 3.2.0 info: version: 3.1.0 description: 'Nerve Management System API to manage: -labels -nodes -workloads -notifications -capabilities' title: Nerve Management System WL VERSION V3 API contact: name: Nerve support email: support@tttech-industrial.com servers: - url: https://trynerve1.nerve.cloud security: - sessionId: [] tags: - name: WL_VERSION_v3 description: The operations to manage specific versions of workloads v3 paths: /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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' description: Contains information about Version export process 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 - 'null' description: Contains information about Version export process 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' description: Contains information about Version export process 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' description: Contains information about Version export process 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: - in-progress: The export process is currently being executed. - completed: The export process has finished successfully. - 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}/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/{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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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 - 'null' 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. 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