' START PREAMBLE

!$rootUrlLocal = ".."
!$rootUrlGitlab = "https://gitlab.com/nunet/device-management-service/-/raw/develop"

' package relative path: change this for each package
!$packageRelativePath = "/executor"

!$packageUrlGitlab = $rootUrlGitlab + $packageRelativePath

' uncomment the following line to render all locally
' !$rootUrl = $rootUrlLocal
' uncomment the following line to render all from gitlab
!$rootUrl = $packageUrlGitlab

' END PREAMBLE

' START DIAGRAM

    interface executor.Executor {
        +Start(*ExecutionRequest) error
        +Run(*ExecutionRequest) *ExecutionResult, error
        +Wait(executionID) <-chan *ExecutionResult, <-chan error
        +Cancel(executionID)
        +GetLogStream(executionID) Reader, error
    }

' END DIAGRAM

' START SUBPACKAGES

'package executor.docker {
    !include $rootUrl/docker/specs/class_diagram.puml
'}

'package executorlfirecracker {
    !include $rootUrl/firecracker/specs/class_diagram.puml
'}

' END SUBPACKAGES

' START IN-PACKAGE RELATIONS
executor.firecracker.Firecracker <|.. executor.Executor
executor.docker.Docker <|.. executor.Executor
' END IN-PACKAGE RELATIONS
