Commit 8749ae26 authored by Spiros Koulouzis's avatar Spiros Koulouzis

added types

parent dd7f776a
swagger: "2.0"
info:
description: "The Dynamic Real-time infrastructure planner (DRIP) allows application developers to seamlessly plan a customized virtual infrastructure based on application level constraints on QoS and resource budgets, provisioning the virtual infrastructure, deploy application components onto the virtual infrastructure, and start execution on demand using TOSCA."
version: "3.0.0"
title: "DRIP"
contact:
email: "z.zhao@uva.nl"
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
basePath: "/drip-api"
schemes:
- "https"
- "http"
paths:
/tosca_template:
post:
summary: "upload a tosca template description file"
description: ""
consumes:
- "multipart/form-data"
parameters:
- in: "formData"
name: "file"
type: file
description: "tosca Template description"
required: true
responses:
405:
description: "Invalid input"
security:
- drip_auth:
- "write:ToscaTemplate"
- "read:ToscaTemplate"
/topolog_template/{id}:
get:
summary: "Find topolog template by ID"
description: "Returns a single topolog template"
operationId: "getToscaTemplateById"
produces:
- "text/plain"
parameters:
- name: "id"
in: "path"
description: "ID of topolog template to return"
required: true
type: "integer"
format: "int64"
responses:
200:
description: "successful operation"
400:
description: "Invalid ID supplied"
404:
description: "ToscaTemplate not found"
405:
description: "Invalid input"
security:
- drip_auth:
- "write:ToscaTemplate"
- "read:ToscaTemplate"
post:
summary: "Updates exisintg topolog template in the store"
description: ""
operationId: "updateToscaTemplate"
consumes:
- "multipart/form-data"
produces:
- "application/json"
parameters:
- in: "formData"
name: "file"
type: file
description: "tosca Template description"
- name: "id"
in: "path"
description: "ID of topolog template to return"
required: true
type: "integer"
format: "int64"
responses:
200:
description: "successful operation"
400:
description: "Invalid ID supplied"
404:
description: "ToscaTemplate not found"
405:
description: "Invalid input"
security:
- drip_auth:
- "write:ToscaTemplate"
- "read:ToscaTemplate"
delete:
summary: "Deletes a tosca topolog template"
description: ""
parameters:
- name: "api_key"
in: "header"
required: false
type: "string"
- name: "id"
in: "path"
description: "ID of topolog template to return"
required: true
type: "integer"
format: "int64"
responses:
200:
description: "successful operation"
400:
description: "Invalid ID supplied"
404:
description: "ToscaTemplate not found"
security:
- drip_auth:
- "write:ToscaTemplate"
- "read:ToscaTemplate"
/user:
post:
summary: "Create user"
description: "This can only be done by the logged in user."
operationId: "createUser"
produces:
- "application/json"
parameters:
- in: "body"
name: "body"
description: "Created user object"
required: true
schema:
$ref: "#/definitions/User"
responses:
default:
description: "successful operation"
security:
- drip_auth:
- "admin:User"
/user/login:
get:
tags:
- "user"
summary: "Logs user into the system"
description: ""
operationId: "loginUser"
produces:
- "application/json"
parameters:
- name: "username"
in: "query"
description: "The user name for login"
required: true
type: "string"
- name: "password"
in: "query"
description: "The password for login in clear text"
required: true
type: "string"
responses:
200:
description: "successful operation"
schema:
type: "string"
headers:
X-Rate-Limit:
type: "integer"
format: "int32"
description: "calls per hour allowed by the user"
X-Expires-After:
type: "string"
format: "date-time"
description: "date in UTC when token expires"
400:
description: "Invalid username/password supplied"
/user/logout:
get:
summary: "Logs out current logged in user session"
description: ""
operationId: "logoutUser"
produces:
- "application/json"
parameters: []
responses:
default:
description: "successful operation"
/user/{username}:
get:
summary: "Get user by user name"
description: ""
operationId: "getUserByName"
produces:
- "application/json"
parameters:
- name: "username"
in: "path"
description: "The name that needs to be fetched. Use user1 for testing. "
required: true
type: "string"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/User"
400:
description: "Invalid username supplied"
404:
description: "User not found"
security:
- drip_auth:
- "admin:User"
put:
tags:
- "user"
summary: "Updated user"
description: "This can only be done by the logged in user."
operationId: "updateUser"
produces:
- "application/json"
parameters:
- name: "username"
in: "path"
description: "name that need to be updated"
required: true
type: "string"
- in: "body"
name: "body"
description: "Updated user object"
required: true
schema:
$ref: "#/definitions/User"
responses:
400:
description: "Invalid user supplied"
404:
description: "User not found"
security:
- drip_auth:
- "admin:User"
delete:
summary: "Delete user"
description: "This can only be done by the logged in user."
operationId: "deleteUser"
produces:
- "application/json"
parameters:
- name: "username"
in: "path"
description: "The name that needs to be deleted"
required: true
type: "string"
responses:
400:
description: "Invalid username supplied"
404:
description: "User not found"
security:
- drip_auth:
- "admin:User"
securityDefinitions:
drip_auth:
type: "oauth2"
authorizationUrl: "http://localhost/oauth/dialog"
flow: "implicit"
scopes:
write:ToscaTemplate: "modify topolog template in your account"
read:ToscaTemplate: "read your topolog template"
admin:User: "Grants access to admin operations"
api_key:
type: "apiKey"
name: "api_key"
in: "header"
definitions:
User:
type: "object"
properties:
id:
type: "integer"
format: "int64"
username:
type: "string"
firstName:
type: "string"
lastName:
type: "string"
email:
type: "string"
password:
type: "string"
userStatus:
type: "integer"
format: "int32"
description: "User Status"
ToscaTemplate:
type: "object"
properties:
tosca_definitions_version:
type: "string"
tosca_default_namespace:
type: "string"
template_name:
type: "string"
imports:
type: "array"
items:
type: object
additionalProperties:
type: string
repositories:
type: "array"
items:
type: object
additionalProperties:
type: string
dsl_definitions:
type: object
additionalProperties:
type: string
node_types:
type: object
additionalProperties:
type: string
topology_template:
$ref: "#/definitions/TopologyTemplate"
relationship_types:
type: object
additionalProperties:
type: string
relationship_templates:
type: object
additionalProperties:
type: string
capability_types:
type: object
additionalProperties:
type: string
artifact_types:
type: object
additionalProperties:
type: string
data_types:
type: object
additionalProperties:
type: string
interface_types:
type: object
additionalProperties:
type: string
policy_types:
type: object
additionalProperties:
type: string
group_types:
type: object
additionalProperties:
type: string
description:
type: "string"
template_author:
type: "string"
TopologyTemplate:
type: "object"
properties:
description:
type: "string"
inputs:
type: "array"
items:
type: object
additionalProperties:
type: string
policies:
type: "array"
items:
type: object
additionalProperties:
type: string
outputs:
type: "array"
items:
type: object
additionalProperties:
type: string
node_templates:
$ref: "#/definitions/NodeTemplate"
relationship_templates:
type: object
additionalProperties:
type: string
groups:
type: object
additionalProperties:
type: string
substitution_mappings:
type: object
additionalProperties:
type: string
NodeTemplate:
type: "object"
properties:
name:
type: "string"
type:
type: "string"
requirements:
type: "array"
items:
type: object
additionalProperties:
type: string
artifacts:
type: object
additionalProperties:
type: string
properties:
type: object
additionalProperties:
type: string
interfaces:
type: object
additionalProperties:
type: string
capabilities:
type: object
additionalProperties:
type: string
workflows:
type: object
additionalProperties:
type: string
externalDocs:
description: "Find out more about DRIP"
url: "https://github.com/QCAPI-DRIP/DRIP-integration/wiki"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment