| 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" |