{ "swagger": "2.0", "info": { "title": "VFC Catalog API", "description": "\n\nThe `swagger-ui` view can be found [here](/api/catalog/v1/swagger).\nThe `ReDoc` view can be found [here](/api/catalog/v1/redoc).\nThe swagger YAML document can be found [here](/api/catalog/v1/swagger.yaml).\nThe swagger JSON document can be found [here](/api/catalog/v1/swagger.json).", "version": "v1" }, "host": "127.0.0.1:8000", "schemes": ["http"], "basePath": "/", "paths": { "/api/catalog/v1/jobs/{job_id}": { "get": { "operationId": "api_catalog_v1_jobs_read", "description": "Get job status", "parameters": [{ "name": "job_id", "in": "query", "description": "job id", "type": "string" }, { "name": "responseId", "in": "query", "description": "response id", "type": "string" }], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/GetJobResponse" } }, "500": { "description": "", "schema": { "$ref": "#/definitions/PostJobResponseResult" } } }, "consumes": ["application/json"], "tags": ["api"] }, "post": { "operationId": "api_catalog_v1_jobs_create", "description": "Update job status", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/PostJobRequest" } }, { "name": "job_id", "in": "query", "description": "job id", "type": "string" }], "responses": { "202": { "description": "", "schema": { "$ref": "#/definitions/PostJobResponseResult" } }, "500": { "description": "", "schema": { "$ref": "#/definitions/PostJobResponseResult" } } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "job_id", "in": "path", "required": true, "type": "string" }] }, "/api/catalog/v1/mandb/{modelName}": { "get": { "operationId": "api_catalog_v1_mandb_read", "description": "", "parameters": [], "responses": { "200": { "description": "" } }, "consumes": ["application/json"], "tags": ["api"] }, "delete": { "operationId": "api_catalog_v1_mandb_delete", "description": "", "parameters": [], "responses": { "204": { "description": "" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "modelName", "in": "path", "required": true, "type": "string" }] }, "/api/catalog/v1/nspackages": { "get": { "operationId": "api_catalog_v1_nspackages_list", "description": "Query NS packages", "parameters": [], "responses": { "200": { "description": "", "schema": { "type": "array", "items": { "$ref": "#/definitions/NsPackage" } } }, "500": { "description": "", "schema": { "$ref": "#/definitions/InternalErrorRequest" } } }, "consumes": ["application/json"], "tags": ["api"] }, "post": { "operationId": "api_catalog_v1_nspackages_create", "description": "On distribute NS package", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/NsPackageDistributeRequest" } }], "responses": { "202": { "description": "", "schema": { "$ref": "#/definitions/NsPackageDistributeResponse" } }, "500": { "description": "", "schema": { "$ref": "#/definitions/InternalErrorRequest" } } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [] }, "/api/catalog/v1/nspackages/{csarId}": { "get": { "operationId": "api_catalog_v1_nspackages_read", "description": "Query one NS package", "parameters": [{ "name": "csarId", "in": "query", "description": "csarId", "type": "string" }], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/NsPackage" } }, "500": { "description": "error message", "schema": { "type": "string" } } }, "consumes": ["application/json"], "tags": ["api"] }, "delete": { "operationId": "api_catalog_v1_nspackages_delete", "description": "Delete one NS package", "parameters": [{ "name": "csarId", "in": "query", "description": "csarId", "type": "string" }], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/NsPackageDistributeResponse" } }, "500": { "description": "error message", "schema": { "type": "string" } } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "csarId", "in": "path", "required": true, "type": "string" }] }, "/api/catalog/v1/parsernsd": { "post": { "operationId": "api_catalog_v1_parsernsd_create", "description": "Parse NS model", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ParseModelRequest" } }], "responses": { "202": { "description": "", "schema": { "$ref": "#/definitions/ParseModelResponse" } }, "500": { "description": "", "schema": { "$ref": "#/definitions/InternalErrorRequest" } } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [] }, "/api/catalog/v1/parserpnfd": { "post": { "operationId": "api_catalog_v1_parserpnfd_create", "description": "Parse PNF model", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ParseModelRequest" } }], "responses": { "202": { "description": "", "schema": { "$ref": "#/definitions/ParseModelResponse" } }, "500": { "description": "", "schema": { "$ref": "#/definitions/InternalErrorRequest" } } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [] }, "/api/catalog/v1/parservnfd": { "post": { "operationId": "api_catalog_v1_parservnfd_create", "description": "Parse NF model", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ParseModelRequest" } }], "responses": { "202": { "description": "", "schema": { "$ref": "#/definitions/ParseModelResponse" } }, "500": { "description": "", "schema": { "$ref": "#/definitions/InternalErrorRequest" } } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [] }, "/api/catalog/v1/vnfpackages": { "get": { "operationId": "api_catalog_v1_vnfpackages_list", "description": "Query Nf packages", "parameters": [], "responses": { "200": { "description": "", "schema": { "type": "array", "items": { "$ref": "#/definitions/NfPackage" } } }, "500": { "description": "", "schema": { "$ref": "#/definitions/InternalErrorRequest" } } }, "consumes": ["application/json"], "tags": ["api"] }, "post": { "operationId": "api_catalog_v1_vnfpackages_create", "description": "On distribute Nf package", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/NfPackageDistributeRequest" } }], "responses": { "202": { "description": "", "schema": { "$ref": "#/definitions/PostJobResponse" } }, "500": { "description": "", "schema": { "$ref": "#/definitions/InternalErrorRequest" } } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [] }, "/api/catalog/v1/vnfpackages/{csarId}": { "get": { "operationId": "api_catalog_v1_vnfpackages_read", "description": "Query one Nf package", "parameters": [{ "name": "csarId", "in": "query", "description": "csarId", "type": "string" }], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/NfPackage" } }, "500": { "description": "error message", "schema": { "type": "string" } } }, "consumes": ["application/json"], "tags": ["api"] }, "delete": { "operationId": "api_catalog_v1_vnfpackages_delete", "description": "Delete one Nf package", "parameters": [{ "name": "csarId", "in": "query", "description": "csarId", "type": "string" }], "responses": { "202": { "description": "", "schema": { "$ref": "#/definitions/PostJobResponse" } }, "500": { "description": "error message", "schema": { "type": "string" } } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "csarId", "in": "path", "required": true, "type": "string" }] }, "/api/nsd/v1/ns_descriptors": { "get": { "operationId": "api_nsd_v1_ns_descriptors_list", "description": "Query multiple NSDs", "parameters": [], "responses": { "200": { "description": "", "schema": { "type": "array", "items": { "$ref": "#/definitions/NsdInfo" } } }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "post": { "operationId": "api_nsd_v1_ns_descriptors_create", "description": "Create a NSD", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CreateNsdInfoRequest" } }], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/NsdInfo" } }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [] }, "/api/nsd/v1/ns_descriptors/{nsdInfoId}": { "get": { "operationId": "api_nsd_v1_ns_descriptors_read", "description": "Query a NSD", "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/NsdInfo" } }, "500": { "description": "Internal error" }, "404": { "description": "NSDs do not exist" } }, "consumes": ["application/json"], "tags": ["api"] }, "delete": { "operationId": "api_nsd_v1_ns_descriptors_delete", "description": "Delete a NSD", "parameters": [], "responses": { "500": { "description": "Internal error" }, "204": { "description": "No content" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "nsdInfoId", "in": "path", "required": true, "type": "string" }] }, "/api/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content": { "get": { "operationId": "api_nsd_v1_ns_descriptors_nsd_content_list", "description": "Download NSD content", "parameters": [], "responses": { "404": { "description": "NSD does not exist." }, "204": { "description": "No content" }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "put": { "operationId": "api_nsd_v1_ns_descriptors_nsd_content_update", "description": "Upload NSD content", "parameters": [], "responses": { "500": { "description": "Internal error" }, "204": { "description": "PNFD file" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "nsdInfoId", "in": "path", "required": true, "type": "string" }] }, "/api/nsd/v1/pnf_descriptors": { "get": { "operationId": "api_nsd_v1_pnf_descriptors_list", "description": "Query multiple PNFDs", "parameters": [], "responses": { "200": { "description": "", "schema": { "type": "array", "items": { "$ref": "#/definitions/PnfdInfo" } } }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "post": { "operationId": "api_nsd_v1_pnf_descriptors_create", "description": "Create a PNFD", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CreatePnfdInfoRequest" } }], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/PnfdInfo" } }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [] }, "/api/nsd/v1/pnf_descriptors/{pnfdInfoId}": { "get": { "operationId": "api_nsd_v1_pnf_descriptors_read", "description": "Query a PNFD", "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/PnfdInfo" } }, "500": { "description": "Internal error" }, "404": { "description": "PNFD does not exist" } }, "consumes": ["application/json"], "tags": ["api"] }, "delete": { "operationId": "api_nsd_v1_pnf_descriptors_delete", "description": "Delete a PNFD", "parameters": [], "responses": { "500": { "description": "Internal error" }, "204": { "description": "No content" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "pnfdInfoId", "in": "path", "required": true, "type": "string" }] }, "/api/nsd/v1/pnf_descriptors/{pnfdInfoId}/pnfd_content": { "get": { "operationId": "api_nsd_v1_pnf_descriptors_pnfd_content_list", "description": "Fetch PNFD content", "parameters": [], "responses": { "404": { "description": "PNFD does not exist" }, "204": { "description": "PNFD file" }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "put": { "operationId": "api_nsd_v1_pnf_descriptors_pnfd_content_update", "description": "Upload PNFD content", "parameters": [], "responses": { "500": { "description": "Internal error" }, "204": { "description": "No content" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "pnfdInfoId", "in": "path", "required": true, "type": "string" }] }, "/api/vnfpkgm/v1/vnf_packages": { "get": { "operationId": "api_vnfpkgm_v1_vnf_packages_list", "description": "Query multiple VNF package resource", "parameters": [], "responses": { "200": { "description": "", "schema": { "type": "array", "items": { "$ref": "#/definitions/VnfPkgInfo" } } }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "post": { "operationId": "api_vnfpkgm_v1_vnf_packages_create", "description": "Create an individual VNF package resource", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CreateVnfPkgInfoRequest" } }], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/VnfPkgInfo" } }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [] }, "/api/vnfpkgm/v1/vnf_packages/{vnfPkgId}": { "get": { "operationId": "api_vnfpkgm_v1_vnf_packages_read", "description": "Query an individual VNF package resource", "parameters": [], "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/VnfPkgInfo" } }, "500": { "description": "Internal error" }, "404": { "description": "VNF package does not exist" } }, "consumes": ["application/json"], "tags": ["api"] }, "delete": { "operationId": "api_vnfpkgm_v1_vnf_packages_delete", "description": "Delete an individual VNF package resource", "parameters": [], "responses": { "500": { "description": "Internal error" }, "204": { "description": "No content" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "vnfPkgId", "in": "path", "required": true, "type": "string" }] }, "/api/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content": { "get": { "operationId": "api_vnfpkgm_v1_vnf_packages_package_content_list", "description": "Fetch VNF package content", "parameters": [], "responses": { "200": { "description": "", "schema": { "type": "array", "items": { "$ref": "#/definitions/VnfPkgInfo" } } }, "500": { "description": "Internal error" }, "404": { "description": "VNF package does not exist" } }, "consumes": ["application/json"], "tags": ["api"] }, "put": { "operationId": "api_vnfpkgm_v1_vnf_packages_package_content_update", "description": "Upload VNF package content", "parameters": [], "responses": { "202": { "description": "Successfully" }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "vnfPkgId", "in": "path", "required": true, "type": "string" }] }, "/api/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content/upload_from_uri": { "post": { "operationId": "api_vnfpkgm_v1_vnf_packages_package_content_upload_from_uri_create", "description": "Upload VNF package content from uri", "parameters": [{ "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/UploadVnfPackageFromUriRequest" } }], "responses": { "202": { "description": "Successfully" }, "500": { "description": "Internal error" } }, "consumes": ["application/json"], "tags": ["api"] }, "parameters": [{ "name": "vnfPkgId", "in": "path", "required": true, "type": "string" }] }, "/samples/": { "get": { "operationId": "samples_list", "description": "List all samples.", "parameters": [], "responses": { "200": { "description": "" } }, "consumes": ["application/json"], "tags": ["samples"] }, "parameters": [] } }, "definitions": { "JobResponseHistoryList": { "description": "Response History List", "type": "object", "properties": { "status": { "title": "Status", "description": "Status", "type": "string" }, "progress": { "title": "Progress", "description": "Job Progress", "type": "string" }, "statusDescription": { "title": "Statusdescription", "description": "Status Description", "type": "string" }, "errorCode": { "title": "Errorcode", "description": "Error Code", "type": "string" }, "responseId": { "title": "Responseid", "description": "Response Id", "type": "string" } } }, "JobResponseDescriptor": { "title": "Responsedescriptor", "description": "Job Response Descriptor", "type": "object", "properties": { "status": { "title": "Status", "description": "Status", "type": "string" }, "progress": { "title": "Progress", "description": "Job Progress", "type": "string" }, "statusDescription": { "title": "Statusdescription", "description": "Status Description", "type": "string" }, "errorCode": { "title": "Errorcode", "description": "Error Code", "type": "string" }, "responseId": { "title": "Responseid", "description": "Response Id", "type": "string" }, "responseHistoryList": { "title": "Responsehistorylist", "description": "Response History List", "type": "array", "items": { "$ref": "#/definitions/JobResponseHistoryList" } } } }, "GetJobResponse": { "type": "object", "properties": { "jobId": { "title": "Jobid", "description": "Job Id", "type": "string" }, "responseDescriptor": { "$ref": "#/definitions/JobResponseDescriptor" } } }, "PostJobResponseResult": { "required": ["result"], "type": "object", "properties": { "result": { "title": "Result", "description": "Result", "type": "string" }, "msg": { "title": "Msg", "description": "Message", "type": "string" } } }, "PostJobRequest": { "type": "object", "properties": { "progress": { "title": "Progress", "description": "Job Progress", "type": "string" }, "desc": { "title": "Desc", "description": "Description", "type": "string" }, "errcode": { "title": "Errcode", "description": "Error Code", "type": "string" } } }, "NsPackageInfo": { "title": "Packageinfo", "description": "NS Package Info", "type": "object", "properties": { "nsdId": { "title": "Nsdid", "description": "NSD ID", "type": "string" }, "nsPackageId": { "title": "Nspackageid", "description": "NS Package ID", "type": "string" }, "nsdProvider": { "title": "Nsdprovider", "description": "NSD Provider", "type": "string" }, "nsdVersion": { "title": "Nsdversion", "description": "NSD Version", "type": "string" }, "csarName": { "title": "Csarname", "description": "CSAR name", "type": "string" }, "nsdModel": { "title": "Nsdmodel", "description": "NSD Model", "type": "string" }, "downloadUrl": { "title": "Downloadurl", "description": "URL to download NSD Model", "type": "string" } } }, "NsPackage": { "type": "object", "properties": { "csarId": { "title": "Csarid", "description": "CSAR ID", "type": "string" }, "packageInfo": { "$ref": "#/definitions/NsPackageInfo" } } }, "InternalErrorRequest": { "required": ["error"], "type": "object", "properties": { "error": { "title": "Error", "description": "Error", "type": "string" }, "errorMessage": { "title": "Errormessage", "description": "Error Message", "type": "string" } } }, "NsPackageDistributeRequest": { "required": ["csarId"], "type": "object", "properties": { "csarId": { "title": "Csarid", "description": "csarId", "type": "string" } } }, "NsPackageDistributeResponse": { "required": ["status", "statusDescription", "errorCode"], "type": "object", "properties": { "status": { "title": "Status", "description": "status", "type": "string" }, "statusDescription": { "title": "Statusdescription", "description": "statusDescription", "type": "string" }, "errorCode": { "title": "Errorcode", "description": "errorCode", "type": "string" } } }, "ParseModelRequest": { "required": ["csarId"], "type": "object", "properties": { "csarId": { "title": "Csarid", "description": "CSAR ID", "type": "string" }, "inputs": { "title": "Inputs", "description": "Inputs", "type": "string" } } }, "ParseModelResponse": { "required": ["model"], "type": "object", "properties": { "model": { "title": "Model", "description": "Model", "type": "string" } } }, "NfPackageInfo": { "title": "Packageinfo", "description": "VNF Package Info", "required": ["vnfPackageId"], "type": "object", "properties": { "vnfdId": { "title": "Vnfdid", "description": "VNFD ID", "type": "string" }, "vnfPackageId": { "title": "Vnfpackageid", "description": "VNF Package ID", "type": "string" }, "vnfdProvider": { "title": "Vnfdprovider", "description": "VNFD Provider", "type": "string" }, "vnfdVersion": { "title": "Vnfdversion", "description": "VNFD Version", "type": "string" }, "vnfVersion": { "title": "Vnfversion", "description": "VNF Version", "type": "string" }, "csarName": { "title": "Csarname", "description": "CSAR Name", "type": "string" }, "vnfdModel": { "title": "Vnfdmodel", "description": "VNFD Model", "type": "string" }, "downloadUrl": { "title": "Downloadurl", "description": "URL to download VNFD Model", "type": "string" } } }, "NfImageInfo": { "description": "Image Info", "required": ["index", "fileName", "imageId", "vimId", "vimUser", "tenant", "status"], "type": "object", "properties": { "index": { "title": "Index", "description": "Index of VNF Image", "type": "string" }, "fileName": { "title": "Filename", "description": "Image file name", "type": "string" }, "imageId": { "title": "Imageid", "description": "Image ID", "type": "string" }, "vimId": { "title": "Vimid", "description": "VIM ID", "type": "string" }, "vimUser": { "title": "Vimuser", "description": "User of VIM", "type": "string" }, "tenant": { "title": "Tenant", "description": "Tenant", "type": "string" }, "status": { "title": "Status", "description": "Status", "type": "string" } } }, "NfPackage": { "required": ["csarId", "packageInfo"], "type": "object", "properties": { "csarId": { "title": "Csarid", "description": "CSAR ID", "type": "string" }, "packageInfo": { "$ref": "#/definitions/NfPackageInfo" }, "imageInfo": { "title": "Imageinfo", "description": "Image Info", "type": "array", "items": { "$ref": "#/definitions/NfImageInfo" } } } }, "NfPackageDistributeRequest": { "required": ["csarId"], "type": "object", "properties": { "csarId": { "title": "Csarid", "description": "CSAR ID", "type": "string" }, "vimIds": { "title": "Vimids", "description": "A string for vimIds", "type": "array", "items": { "type": "string" } }, "labVimId": { "title": "Labvimid", "description": "A list of VIM IDs.", "type": "string" } } }, "PostJobResponse": { "required": ["jobId"], "type": "object", "properties": { "jobId": { "title": "Jobid", "description": "jobId", "type": "string" } } }, "ProblemDetails": { "title": "Onboardingfailuredetails", "description": "Failure details of current onboarding procedure. It shall be present when the \"nsdOnboardingState\" attribute is CREATED and the uploading or processing fails in NFVO.", "required": ["title", "detail"], "type": "object", "properties": { "type": { "title": "Type", "description": "A URI reference according to IETF RFC 3986 [10] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".", "type": "string" }, "title": { "title": "Title", "description": "The HTTP status code for this occurrence of the problem.", "type": "integer" }, "detail": { "title": "Detail", "description": "A human-readable explanation specific to this occurrence of the problem.", "type": "string" }, "instance": { "title": "Instance", "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.", "type": "string" }, "additional_attributes": { "title": "Additional attributes", "description": "Any number of additional attributes, as defined in a specification or by an implementation.", "type": "object", "additionalProperties": { "description": "Additional attribute", "type": "string" } } } }, "Link": { "title": "Self", "description": "URI of this resource.", "required": ["href"], "type": "object", "properties": { "href": { "title": "Href", "description": "URI of the referenced resource", "type": "string" } } }, "_Link": { "title": " links", "description": "Links to resources related to this resource.", "required": ["self", "nsd_content"], "type": "object", "properties": { "self": { "$ref": "#/definitions/Link" }, "nsd_content": { "$ref": "#/definitions/Link" } } }, "NsdInfo": { "required": ["id", "nsdOnboardingState", "nsdOperationalState", "nsdUsageState", "_links"], "type": "object", "properties": { "id": { "title": "Id", "description": "Identifier of the onboarded individual NS descriptor resource. This identifier is allocated by the NFVO.", "type": "string" }, "nsdId": { "title": "Nsdid", "description": "This identifier, which is allocated by the NSD designer, identifies the NSD in a globally unique way. It is copied from the NSD content and shall be present after the NSD content is on-boarded.", "type": "string" }, "nsdName": { "title": "Nsdname", "description": "Name of the onboarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.", "type": "string" }, "nsdVersion": { "title": "Nsdversion", "description": "Version of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.", "type": "string" }, "nsdDesigner": { "title": "Nsddesigner", "description": "Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.", "type": "string" }, "nsdInvariantId": { "title": "Nsdinvariantid", "description": "This identifier, which is allocated by the NSD designer, identifies an NSD in a version independent manner. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.", "type": "string" }, "vnfPkgIds": { "title": "Vnfpkgids", "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.", "type": "array", "items": { "description": "Identifier of the VNF package", "type": "string" } }, "pnfdInfoIds": { "title": "Pnfdinfoids", "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.", "type": "array", "items": { "description": "Identifier of the PnfdInfo element", "type": "string" } }, "nestedNsdInfoIds": { "title": "Nestednsdinfoids", "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.", "type": "array", "items": { "description": "Identifier of the NsdInfo element", "type": "string" } }, "nsdOnboardingState": { "title": "Nsdonboardingstate", "description": "Onboarding state of the individual NS descriptor resource.", "type": "string", "enum": ["CREATED", "UPLOADING", "PROCESSING", "ONBOARDED"] }, "onboardingFailureDetails": { "$ref": "#/definitions/ProblemDetails" }, "nsdOperationalState": { "title": "Nsdoperationalstate", "description": "Operational state of the individual NS descriptor resource. This attribute can be modified with the PATCH method.", "type": "string", "enum": ["ENABLED", "DISABLED"] }, "nsdUsageState": { "title": "Nsdusagestate", "description": "Usage state of the individual NS descriptor resource.", "type": "string", "enum": ["IN_USE", "NOT_IN_USE"] }, "userDefinedData": { "title": "Userdefineddata", "description": "User defined data for the individual NS descriptor resource. This attribute can be modified with the PATCH method.", "type": "object", "additionalProperties": { "description": "Key Value Pairs", "type": "string" } }, "_links": { "$ref": "#/definitions/_Link" } } }, "CreateNsdInfoRequest": { "type": "object", "properties": { "userDefinedData": { "title": "Userdefineddata", "description": "User-defined data for the NS descriptor resource to be created. It shall be present when the user defined data is set for the individual NS descriptor resource to be created.", "type": "object", "additionalProperties": { "description": "Key Value Pairs", "type": "string" } } } }, "PnfdInfo": { "required": ["id", "pnfdOnboardingState", "pnfdUsageState", "_links"], "type": "object", "properties": { "id": { "title": "Id", "description": "Identifier of the onboarded individual PNF descriptor resource. This identifier is allocated by the NFVO.", "type": "string" }, "pnfdId": { "title": "Pnfdid", "description": "This identifier, which is allocated by the PNFD designer, identifies the PNFD in a globally unique way. It is copied from the PNFD content and shall be present after the PNFD content is on-boarded.", "type": "string" }, "pnfdName": { "title": "Pnfdname", "description": "Name of the onboarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.", "type": "string" }, "pnfdVersion": { "title": "Pnfdversion", "description": "Version of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.", "type": "string" }, "pnfdProvider": { "title": "Pnfdprovider", "description": "Provider of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.", "type": "string" }, "pnfdInvariantId": { "title": "Pnfdinvariantid", "description": "Identifies a PNFD in a version independent manner. This attribute is invariant across versions of PNFD.", "type": "string" }, "pnfdOnboardingState": { "title": "Pnfdonboardingstate", "description": "Onboarding state of the individual PNF descriptor resource.", "type": "string", "enum": ["CREATED", "UPLOADING", "PROCESSING", "ONBOARDED"] }, "onboardingFailureDetails": { "$ref": "#/definitions/ProblemDetails" }, "pnfdUsageState": { "title": "Pnfdusagestate", "description": "Usage state of the individual PNF descriptor resource.", "type": "string", "enum": ["IN_USE", "NOT_IN_USE"] }, "userDefinedData": { "title": "Userdefineddata", "description": "User defined data for the individual PNF descriptor resource. This attribute can be modified with the PATCH method.", "type": "object", "additionalProperties": { "description": "Key Value Pairs", "type": "string" } }, "_links": { "$ref": "#/definitions/_Link" } } }, "CreatePnfdInfoRequest": { "type": "object", "properties": { "userDefinedData": { "title": "Userdefineddata", "description": "User-defined data for the PNF descriptor resource to be created. It shall be present when the user defined data is set for the individual PNF descriptor resource to be created.", "type": "object", "additionalProperties": { "description": "Key Value Pairs", "type": "string" } } } }, "Checksum": { "title": "Checksum", "description": "Checksum of the on-boarded VNF package.", "required": ["algorithm", "hash"], "type": "object", "properties": { "algorithm": { "title": "Algorithm", "description": "Name of the algorithm used to generate the checksum.", "type": "string" }, "hash": { "title": "Hash", "description": "The hexadecimal value of the checksum.", "type": "string" } } }, "VnfPackageSoftwareImageInfo": { "description": "Information about VNF package artifacts that are software images.", "required": ["id", "name", "provider", "version", "checksum", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size", "imagePath"], "type": "object", "properties": { "id": { "title": "Id", "description": "Identifier of the software image.", "type": "string" }, "name": { "title": "Name", "description": "Name of the software image.", "type": "string" }, "provider": { "title": "Provider", "description": "Provider of the software image.", "type": "string" }, "version": { "title": "Version", "description": "Version of the software image.", "type": "string" }, "checksum": { "$ref": "#/definitions/Checksum" }, "containerFormat": { "title": "Containerformat", "description": "terminationType: Indicates whether forceful or graceful termination is requested.", "type": "string", "enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"] }, "diskFormat": { "title": "Diskformat", "description": "Disk format of a software image is the format of the underlying disk image.", "type": "string", "enum": ["AKI", "AMI", "ARI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"] }, "createdAt": { "title": "Createdat", "description": "Time when this software image was created.", "type": "string", "format": "date-time" }, "minDisk": { "title": "Mindisk", "description": "The minimal disk for this software image in bytes.", "type": "integer" }, "minRam": { "title": "Minram", "description": "The minimal RAM for this software image in bytes.", "type": "integer" }, "size": { "title": "Size", "description": "Size of this software image in bytes.", "type": "integer" }, "userMetadata": { "title": "Usermetadata", "description": "User-defined data.", "type": "object", "additionalProperties": { "description": "KeyValue Pairs", "type": "string" } }, "imagePath": { "title": "Imagepath", "description": "Path in the VNF package.", "type": "string" } } }, "VnfPackageArtifactInfo": { "description": "Information about VNF package artifacts contained in the VNF package that are not software images.", "required": ["artifactPath", "checksum"], "type": "object", "properties": { "artifactPath": { "title": "Artifactpath", "description": "Path in the VNF package.", "type": "string" }, "checksum": { "$ref": "#/definitions/Checksum" }, "metadata": { "title": "Metadata", "description": "The metadata of the artifact that are available in the VNF package", "type": "object", "additionalProperties": { "description": "KeyValue Pairs", "type": "string" } } } }, "VnfPkgInfo": { "required": ["id", "onboardingState", "operationalState", "usageState", "_links"], "type": "object", "properties": { "id": { "title": "Id", "description": "Identifier of the on-boarded VNF package.", "type": "string" }, "vnfdId": { "title": "Vnfdid", "description": "This identifier, which is managed by the VNF provider, identifies the VNF package and the VNFD in a globally unique way.", "type": "string" }, "vnfProvider": { "title": "Vnfprovider", "description": "Provider of the VNF package and the VNFD.", "type": "string" }, "vnfProductName": { "title": "Vnfproductname", "description": "Name to identify the VNF product.", "type": "string" }, "vnfSoftwareVersion": { "title": "Vnfsoftwareversion", "description": "Software version of the VNF.", "type": "string" }, "vnfdVersion": { "title": "Vnfdversion", "description": "The version of the VNvFD.", "type": "string" }, "checksum": { "$ref": "#/definitions/Checksum" }, "softwareImages": { "title": "Softwareimages", "description": "Information about VNF package artifacts that are software images.", "type": "array", "items": { "$ref": "#/definitions/VnfPackageSoftwareImageInfo" } }, "additionalArtifacts": { "title": "Additionalartifacts", "description": "Information about VNF package artifacts contained in the VNF package that are not software images.", "type": "array", "items": { "$ref": "#/definitions/VnfPackageArtifactInfo" } }, "onboardingState": { "title": "Onboardingstate", "description": "On-boarding state of the VNF package.", "type": "string", "enum": ["CREATED", "UPLOADING", "PROCESSING", "ONBOARDED"] }, "operationalState": { "title": "Operationalstate", "description": "Operational state of the VNF package.", "type": "string", "enum": ["ENABLED", "DISABLED"] }, "usageState": { "title": "Usagestate", "description": "Usage state of the VNF package.", "type": "string", "enum": ["IN_USE", "NOT_IN_USE"] }, "userDefinedData": { "title": "Userdefineddata", "description": "User defined data for the VNF package.", "type": "object", "additionalProperties": { "description": "KeyValue Pairs", "type": "string" } }, "_links": { "$ref": "#/definitions/_Link" } } }, "CreateVnfPkgInfoRequest": { "type": "object", "properties": { "userDefinedData": { "title": "Userdefineddata", "description": "User defined data for the VNF package.", "type": "object", "additionalProperties": { "description": "KeyValue Pairs", "type": "string" } } } }, "UploadVnfPackageFromUriRequest": { "required": ["addressInformation"], "type": "object", "properties": { "addressInformation": { "title": "Addressinformation", "description": "Address information of the VNF package content.", "type": "string" }, "userName": { "title": "Username", "description": "User name to be used for authentication.", "type": "string" }, "password": { "title": "Password", "description": "Password to be used for authentication.", "type": "string" } } } }, "securityDefinitions": { "basic": { "type": "basic" } } }