swagger-docs/storage.yml

103 lines
2.6 KiB
YAML

swagger: "2.0"
info:
description: "This is the internal storage interface of the Birbnetes system."
version: "1.1.2"
title: "Storage Service"
contact:
email: "tormakristof@tormakristof.eu"
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
host: "dev.k8s.tcloud.enginner"
basePath: "/api/storage/v1"
tags:
- name: "storage"
description: "Storage Service definition"
schemes:
- "https"
- "http"
paths:
/object:
post:
tags:
- "storage"
summary: "Uploads an object into the service"
description: ""
operationId: "uploadFile"
consumes:
- "multipart/form-data"
produces:
- "application/json"
parameters:
- name: "tag"
in: "formData"
description: "Tag of sound file"
required: true
type: "string"
- name: "file"
in: "formData"
description: "Wave file to upload"
required: true
type: "file"
responses:
200:
description: "Object successfully stored. This means that a get request for this object should be successful."
schema:
$ref: "#/definitions/ApiResponse"
409:
description: "An object with this Tag already exists"
schema:
$ref: "#/definitions/ApiResponse"
/object/{objectTag}:
get:
tags:
- "storage"
summary: "Download a wave file identified by Tag"
description: "Returns a single pet"
operationId: "getPetById"
produces:
- "application/json"
- "audio/wave"
parameters:
- name: "objectTag"
in: "path"
description: "Tag of wave file to return"
required: true
type: "string"
responses:
200:
description: "The requested audio file."
404:
description: "An object with this Tag does not exist."
schema:
$ref: "#/definitions/ApiResponse"
delete:
tags:
- "storage"
summary: "Deletes a wave file identified by Tag"
description: ""
operationId: "deleteWave"
produces:
- "application/json"
parameters:
- name: "objectTag"
in: "path"
description: "Tag of wave file to delete"
required: true
type: "string"
responses:
200:
description: "Successful deletion"
404:
description: "An object with this Tag does not exist."
schema:
$ref: "#/definitions/ApiResponse"
definitions:
ApiResponse:
type: "object"
properties:
status:
type: "string"
msg:
type: "string"