############################################################################## # Copyright (c) 2017 akhil.batra@research.iiit.ac.in and others. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## swagger: '2.0' info: title: QTIP-API version: "1.0" consumes: - application/json produces: - application/json paths: /plans: get: summary: List all plans operationId: qtip.api.controllers.plan.list_plans tags: - Plan - Standalone responses: 200: description: A list of plans schema: type: array items: $ref: '#/definitions/Plans' 501: description: Resource not implemented schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' /plans/{name}: get: summary: Get a plan by plan name operationId: qtip.api.controllers.plan.get_plan tags: - Plan - Standalone parameters: - name: name in: path description: Plan name required: true type: string responses: 200: description: Plan information schema: $ref: '#/definitions/Plan' 404: description: Plan not found schema: $ref: '#/definitions/Error' 501: description: Resource not implemented schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' post: summary: Run a plan and return results operationId: qtip.api.controllers.plan.run_plan tags: - Plan - Standalone parameters: - name: name in: path description: Plan name required: true type: string - name: action in: query description: action for a plan required: true type: string responses: 200: description: Result of the run of the plan #TODO (akhil) define schema 404: description: Plan not found schema: $ref: '#/definitions/Error' 400: description: Invalid parameters schema: $ref: '#/definitions/Error' 501: description: Resource not implemented schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' /qpis: get: summary: List all QPIs operationId: qtip.api.controllers.qpi.list_qpis tags: - QPI - Standalone - Agent responses: 200: description: A list of QPIs schema: items: $ref: '#/definitions/QPIs' 501: description: Resource not implemented schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' /qpis/{name}: get: summary: Get a QPI operationId: qtip.api.controllers.qpi.get_qpi tags: - QPI - Standalone - Agent parameters: - name: name in: path description: QPI name required: true type: string responses: 200: description: QPI information schema: $ref: '#/definitions/QPI' 404: description: QPI not found schema: $ref: '#/definitions/Error' 501: description: Resource not implemented schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' /metrics: get: summary: List all metrics operationId: qtip.api.controllers.metric.list_metrics tags: - Metric - Standalone - Agent responses: 200: description: A list of metrics schema: items: $ref: '#/definitions/Metrics' 501: description: Resource not implemented schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' /metrics/{name}: get: summary: Get a metric operationId: qtip.api.controllers.metric.get_metric tags: - Metric - Standalone - Agent parameters: - name: name in: path description: Metric name required: true type: string responses: 200: description: Metric information schema: $ref: '#/definitions/Metric' 404: description: Metric not found schema: $ref: '#/definitions/Error' 501: description: Resource not implemented schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' definitions: Plan: type: object required: - name properties: name: type: string description: type: string info: type: object config: type: object QPIs: type: array items: type: object Plans: type: object required: - plans properties: plans: type: array items: type: string Metric: type: object required: - name properties: name: type: string description: type: string links: type: array items: type: string workloads: type: array items: type: string Metrics: type: object required: - metrics properties: metrics: type: array items: type: string QPI: type: object required: - name properties: name: type: string description: type: string formula: type: string sections: type: array items: type: object QPIs: type: object required: - qpis properties: qpis: type: array items: type: string Error: type: object properties: status: type: integer format: int32 title: type: string detail: type: string type: type: string