openapi: 3.0.3 info: version: 0.1.0 title: Schemata for config models servers: [] paths: {} components: schemas: # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Config # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Config: descripton: |- 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: - tsp - hirschberg properties: 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: [] # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 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 verbosity options for Hirschberg type: string enum: - TREE - ATOMS