asyncapi: 1.2.0 info: description: NPG server API title: NPG version: 1.0.0 tags: - name: log - name: project - name: server - name: term events: receive: - $ref: "#/components/messages/listProjects" - $ref: "#/components/messages/addProject" - $ref: "#/components/messages/loadProject" - $ref: "#/components/messages/deleteProject" - $ref: "#/components/messages/version" - $ref: "#/components/messages/listBackends" - $ref: "#/components/messages/listTerms" - $ref: "#/components/messages/addTerm" - $ref: "#/components/messages/loadTerm" - $ref: "#/components/messages/deleteTerm" send: - $ref: "#/components/messages/listProjectsResp" - $ref: "#/components/messages/addProjectResp" - $ref: "#/components/messages/loadProjectResp" - $ref: "#/components/messages/deleteProjectResp" - $ref: "#/components/messages/versionResp" - $ref: "#/components/messages/listBackendsResp" - $ref: "#/components/messages/listTermsResp" - $ref: "#/components/messages/addTermResp" - $ref: "#/components/messages/deleteTermResp" components: messages: listProjects: summary: List all projects tags: - name: project listProjectsResp: summary: Project list tags: - name: project payload: type: array items: $ref: "#/components/schemas/project" addProject: summary: Add a new project tags: - name: project payload: $ref: "#/components/schemas/project" addProjectResp: summary: Result of project addition tags: - name: project payload: $ref: "#/components/schemas/result" loadProject: summary: Load a project tags: - name: project payload: type: object properties: id: type: string format: uuid loadProjectResp: summary: Loaded project information tags: - name: project payload: $ref: "#/components/schemas/project" deleteProject: summary: Delete a project tags: - name: project payload: type: object properties: id: type: string format: uuid deleteProjectResp: summary: Result of project deletion tags: - name: project payload: $ref: "#/components/schemas/result" version: summary: Get server version tags: - name: server versionResp: summary: Server version tags: - name: server payload: type: integer listBackends: summary: List backend servers tags: - name: server listBackendsResp: summary: Backend server list tags: - name: server payload: type: array items: $ref: "#/components/schemas/backend" listTerms: summary: List terminal tags: - name: term listTermsResp: summary: Terminal list tags: - name: term payload: type: array items: $ref: "#/components/schemas/term" addTerm: summary: Add a new terminal tags: - name: term payload: $ref: "#/components/schemas/termreq" addTermResp: summary: Added a new terminal tags: - name: term payload: $ref: "#/components/schemas/term" loadTerm: summary: Load a terminal tags: - name: term payload: type: object properties: id: type: string loadTermResp: summary: Loaded terminal information tags: - name: term payload: $ref: "#/components/schemas/term" deleteTerm: summary: Delete a terminal tags: - name: term payload: type: object properties: id: type: string deleteTermResp: summary: Result of terminal deletion tags: - name: term payload: $ref: "#/components/schemas/result" schemas: project: type: object required: - name properties: id: type: string format: uuid name: type: string topology: $ref: "#/components/schemas/topology" termreq: type: object properties: cols: type: integer rows: type: integer backend: type: string container: type: string term: type: object required: - id properties: id: type: string backend: type: string container: type: string process: type: string backend: type: object required: - host properties: host: type: string os: type: string cpu: type: string description: CPU type and number of cores cpu_usage: type: string description: CPU usage in percent mem: type: string description: total memory in MB mem_usage: type: string description: memory usage in percent docker_version: type: string uptime: type: string node: type: object required: - backend - name - image properties: backend: $ref: "#/components/schemas/backend" name: type: string image: type: string x: type: integer y: type: integer bridge: type: object required: - name properties: name: type: string x: type: integer y: type: integer netem: type: object properties: bw: type: integer delay: type: integer link: type: object required: - node - bridge properties: node: $ref: "#/components/schemas/node" bridge: $ref: "#/components/schemas/bridge" up: $ref: "#/components/schemas/netem" down: $ref: "#/components/schemas/netem" topology: type: object properties: backends: type: array items: $ref: "#/components/schemas/backend" nodes: type: array items: $ref: "#/components/schemas/node" links: type: array items: $ref: "#/components/schemas/link" result: type: object required: - code properties: code: type: integer message: type: string