openapi: 3.0.3 info: version: 0.2.0 title: Schemata for config models servers: - url: "." paths: {} components: schemas: # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Config # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Config: description: |- Data model for all parts of the configuration. type: object required: - info - options - calls properties: info: $ref: "#/components/schemas/Info" options: $ref: "#/components/schemas/AppOptions" # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Info # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Info: description: |- Contains meta data about project. type: object required: - title - description - author properties: title: type: string description: type: string author: type: string # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # App Options # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AppOptions: description: |- Options pertaining to the rudimentary setup of the app. type: object required: - log-level - tsp - tarjan - hirschberg - rucksack properties: log-level: $ref: '#/components/schemas/EnumLogLevel' verbose: description: Global setting for verbosity. type: boolean default: false tarjan: type: object required: - verbose properties: verbose: type: boolean default: false tsp: type: object required: - verbose properties: verbose: type: boolean default: false hirschberg: type: object required: - penality-mismatch - penality-gap - move-priorities properties: penality-mismatch: type: number default: 1 penality-gap: type: number default: 1 move-priorities: type: object properties: diagonal: type: integer minimum: 0 default: 0 horizontal: type: integer minimum: 0 default: 1 vertical: type: integer minimum: 0 default: 2 verbose: type: array items: $ref: '#/components/schemas/EnumHirschbergVerbosity' default: [] show: type: array items: $ref: '#/components/schemas/EnumHirschbergShow' default: [] rucksack: type: object required: [] properties: verbose: type: boolean default: false show: type: array items: $ref: '#/components/schemas/EnumRucksackShow' default: [] # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Enum LogLevel # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EnumLogLevel: description: |- Enumeration of settings for log level. type: string enum: - INFO - DEBUG # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Enum Hirschberg - Verbosity options # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EnumHirschbergVerbosity: description: |- Enumeration of verbosity options for Hirschberg type: string enum: - COSTS - MOVES # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Enum Hirschberg - display options # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EnumHirschbergShow: description: |- Enumeration of display options for Hirschberg type: string enum: - TREE - ATOMS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Enum Rucksack - display options # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EnumRucksackShow: description: |- Enumeration of display options for the Rucksack problem type: string enum: - ALL-WEIGHTS