blob: 79edd409d5d55f925aff19f310803f8e100e1d83 [file] [log] [blame]
swagger: "2.0"
info:
description: "These are the APIs for the ONAP VNFSDK Marketplace. VNFSDK helps to package and validate VNFs for onboarding into ONAP. You can find out more about VNFSDK at [http://onap.readthedocs.io](http://onap.readthedocs.io/en/latest/submodules/vnfsdk/model.git/docs/files/vnfsdk-apis.html)."
version: "1.0.0"
title: "ONAP VNFSDK"
contact:
email: "onap-discuss@lists.onap.org"
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
host: "onap.readthedocs.io"
basePath: "/onapapi/marketplace/v1"
tags:
- name: "csars"
description: "VNF CSAR information"
externalDocs:
description: "Find out more"
url: "http://wiki.onap.org"
schemes:
- "http"
paths:
/csars:
get:
summary: "Query VNF Package by conditions"
description: "Query VNF package"
operationId: "queryVnf"
produces:
- "application/json"
tags:
- "VNF package"
parameters:
- name: "conditions"
in: "query"
description: "Conditions that need to be considered for filter"
required: true
type: "array"
items:
type: "string"
collectionFormat: "multi"
responses:
200:
description: "successful operation"
schema:
type: "array"
items:
$ref: "#/definitions/Csars"
400:
description: "Invalid status value"
post:
summary: "Upload/Re-Upload VNF Package"
description: ""
operationId: "addVnf"
consumes:
- "multipart/form-data"
produces:
- "application/json"
tags:
- "VNF package"
parameters:
- in: "body"
name: "body"
description: "VNF objects to add to the Marketplace"
required: true
schema:
$ref: "#/definitions/Csars"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/ApiResponse"
/csars/{csarId}:
get:
tags:
- "csarId"
summary: "Find vnf by CSAR ID"
description: "Returns a single vnf"
operationId: "getVnfByCsarId"
produces:
- "application/xml"
- "application/json"
parameters:
- name: "csarId"
in: "path"
description: "CSAR ID of VNF to return"
required: true
type: "string"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/Csars"
400:
description: "Invalid ID supplied"
404:
description: "VNF not found"
post:
tags:
- "csarId"
summary: "Updates a VNF in the Marketplace with form data"
description: ""
operationId: "updateCsar"
consumes:
- "application/x-www-form-urlencoded"
produces:
- "application/xml"
- "application/json"
parameters:
- name: "csarId"
in: "path"
description: "CSAR ID of VNF that needs to be updated"
required: true
type: "string"
- name: "name"
in: "formData"
description: "Updated name of the VNF"
required: false
type: "string"
- name: "fileNamee"
in: "formData"
description: "Updated filename of the csar"
required: false
type: "string"
responses:
405:
description: "Invalid input"
delete:
tags:
- "csarId"
summary: "Deletes a VNF"
description: ""
operationId: "deleteVnf"
produces:
- "application/xml"
- "application/json"
parameters:
- name: "csarId"
in: "path"
description: "VNF CSAR ID to delete"
required: true
type: "string"
responses:
400:
description: "Invalid ID supplied"
/csars/{csarId}/files:
get:
tags:
- "csarId"
summary: "Download vnf"
description: "Download a single vnf"
operationId: "downloadVnf"
produces:
- "application/xml"
- "application/json"
parameters:
- name: "csarId"
in: "path"
description: "CSAR ID of VNF to return"
required: true
type: "string"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/Csars"
400:
description: "Invalid ID supplied"
404:
description: "VNF not found"
definitions:
Csars:
type: "object"
required:
- "csarId"
properties:
type:
type: "string"
example: "CSAR"
name:
type: "string"
example: "NanocellGateway"
fileName:
type: "string"
creationDate:
type: "string"
modificationDate:
type: "string"
readDate:
type: "string"
size:
type: "string"
example: "37 MB"
provider:
type: "string"
example: "XYZ"
version:
type: "string"
example: "v1.0.0"
createTime:
type: "string"
modifyTime:
type: "string"
downloadUri:
type: "string"
example: "http://msb_ip:msb_port/files/marketplace/CSAR/XYZ/NanocellGW/v1.0"
shortdesc:
type: "string"
example: "XYZ Nanocell Gateway VNF"
details:
type: "string"
csarId:
type: "string"
example: "78ede6f3-66cc-46ab-b748-38a6c010d272"
parameters:
type: "array"
xml:
name: "parameters"
wrapped: true
items:
type: "string"
xml:
name: "Csars"
ApiResponse:
type: "object"
properties:
code:
type: "integer"
format: "int32"
type:
type: "string"
message:
type: "string"
externalDocs:
description: "Find out more about VNFSDK"
url: "https://onap.readthedocs.io/en/latest/submodules/vnfsdk/model.git/docs/index.html"