{ "swagger": "2.0", "info": { "version": "1.0.0", "title": "MultiVIM Service rest API" }, "basePath": "/api/multicloud-newton/v0/", "tags": [ { "name": "MultiVIM services" } ], "paths": { "/{vimid}/{tenantid}/hosts": { "get": { "tags": [ "vim hosts" ], "summary": "query vim hosts list", "description": "query vim hosts list", "operationId": "query_vim_hosts", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "vimid", "in": "path", "description": "vim instance id", "required": true, "type": "string" }, { "name": "tenantid", "in": "path", "description": "tenant UUID", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/VimHostsInfo" } }, "404": { "description": "the vim id or tenant UUID is wrong" }, "500": { "description": "the vim host is not accessable" } } } }, "/{vimid}/{tenantid}/hosts/{hostname}": { "get": { "tags": [ "vim hosts" ], "summary": "query specific vim host", "description": "query specific vim host", "operationId": "query_vim_host", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "vimid", "in": "path", "description": "vim instance id", "required": true, "type": "string" }, { "name": "tenantid", "in": "path", "description": "tenant UUID", "required": true, "type": "string" }, { "name": "hostname", "in": "path", "description": "vim host name", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/VimHostDetail" } }, "404": { "description": "the vim id or tenant UUID is wrong" }, "500": { "description": "the vim host is not accessable" } } } } }, "definitions": { "VimHostsInfo": { "type": "object", "required": [ "vimId", "tenantId", "hosts" ], "properties": { "vimId": { "type": "string" }, "vimName": { "type": "string" }, "tenantId": { "type": "string", "description": "tenant UUID" }, "hosts": { "type": "array", "description": "list of host information", "items": { "$ref": "#/definitions/VimHostInfo" } } } }, "VimHostInfo": { "type": "object", "required": [ "name", "service" ], "properties": { "name": { "type": "string", "description": "host name" }, "service": { "type": "string", "description": "service name running on the host" }, "zone": { "type": "string", "description": "available zone name of the host" }, "vimId": { "type": "string" }, "vimName": { "type": "string" }, "tenantId": { "type": "string", "description": "tenant UUID" } } }, "VimHostDetail": { "type": "object", "required": [ "vimId", "tenantId", "host" ], "properties": { "host": { "type": "array", "description": "list of host information", "items": { "$ref": "#/definitions/VimHostResource" } }, "vimId": { "type": "string" }, "vimName": { "type": "string" }, "tenantId": { "type": "string", "description": "tenant UUID" } } }, "VimHostResource": { "type": "object", "required": [ "name", "cpu", "memory_mb", "disk_gb", "project" ], "properties": { "name": { "type": "string", "description": "host name" }, "cpu": { "type": "integer", "description": "The cpu info on the host" }, "memory_mb": { "type": "integer", "description": "The memory info on the host (in MB)" }, "disk_gb": { "type": "integer", "description": "The disk info on the host (in GB)" }, "project": { "type": "string", "description": "The project id (or special name like total, used_now, used_max)." } } } } }