openapi: 3.0.0 servers: - description: OSM NB API url: https://osm.etsi.org/nbapi/v1.0.0 info: description: | This is Open Source MANO Northbound API featuring ETSI NFV SOL005. For more information on OSM, you can visit [http://osm.etsi.org](http://osm.etsi.org). You can send us your comments and questions to OSM_TECH@list.etsi.org or join the [OpenSourceMANO Slack Workplace](https://join.slack.com/t/opensourcemano/shared_invite/enQtMzQ3MzYzNTQ0NDIyLWVkNTE4ZjZjNWI0ZTQyN2VhOTI1MjViMzU1NWYwMWM3ODI4NTQyY2VlODA2ZjczMWIyYTFkZWNiZmFkM2M2ZDk) version: "1.0.0" title: OSM NB API featuring ETSI NFV SOL005 contact: email: OSM_TECH@list.etsi.org license: name: Apache 2.0 url: 'http://www.apache.org/licenses/LICENSE-2.0.html' tags: - name: 'VNF packages' description: Management operations of VNF descriptors and packages - name: 'NS packages' description: Management operations of NS descriptors and packages - name: 'NS instances' description: Management operations of NS instances - name: 'NetSlice templates' description: Management operations of NetSlice Templates - name: 'NetSlice instances' description: Management operations of NetSlice Instances # - name: 'NSPM' # description: Management operations of NSPMs # - name: 'PDU' # description: Management operations of PDUs # - name: 'Admin' # description: Management operations of Administration items security: - bearerAuth: [] paths: # BEGIN NS Packages '/nsd/v1/ns_descriptors': get: tags: - "NS packages" summary: Query information about multiple NS descriptor resources description: Query information about multiple NS descriptor resources operationId: getNSDs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNsdInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNsdInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' post: tags: - "NS packages" summary: Create a new NS descriptor resource description: Create a new NS descriptor resource operationId: addNSD requestBody: $ref: '#/components/requestBodies/CreateNsdInfoRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsd/v1/ns_descriptors/{nsdInfoId}': parameters: - name: nsdInfoId in: path required: true description: NSD Info ID schema: type : string get: tags: - "NS packages" summary: Read information about an individual NS descriptor resource description: Read information about an individual NS descriptor resource operationId: getNSD responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NsdInfo' application/yaml: schema: $ref: '#/components/schemas/NsdInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "NS packages" summary: Delete an individual NS descriptor resource description: Delete an individual NS descriptor resource operationId: deleteNSD responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' patch: tags: - "NS packages" summary: Modify the data of an individual NS descriptor resource description: Modify the data of an individual NS descriptor resource operationId: updateNSD requestBody: $ref: '#/components/requestBodies/NsdInfoModifications' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content': parameters: - name: nsdInfoId in: path required: true description: NSD Info ID schema: type : string get: tags: - "NS packages" summary: Fetch the content of a NSD description: Fetch the content of a NSD operationId: getNSDcontent responses: '200': description: OK content: application/zip: schema: $ref: '#/components/schemas/NsPackage' '206': description: Partial Content headers: Content-Range: schema: type: string content: application/zip: schema: $ref: '#/components/schemas/NsPackage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' put: tags: - "NS packages" summary: Upload the content of a NSD description: Upload the content of a NSD operationId: updateNSDcontent requestBody: $ref: '#/components/requestBodies/NsPackage' responses: '202': description: Accepted '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsd/v1/ns_descriptors/{nsdInfoId}/artifacts/{artifactPath}': parameters: - name: nsdInfoId in: path required: true description: NS Package ID schema: type : string - name: artifactPath in: path required: true description: Artifact Path schema: type : string get: tags: - "NS packages" summary: Fetch individual NS package artifact description: Fetch individual NS package artifact operationId: getNsPkgArtifact responses: '200': description: OK content: application/octet-stream: schema: type: string format: binary '206': description: Partial Content headers: Content-Range: schema: type: string content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd': parameters: - name: nsdInfoId in: path required: true description: NS Package ID schema: type : string get: tags: - "NS packages" summary: Read NSD of an on-boarded NS package description: Read NSD of an on-boarded NS package operationId: getNsPkgNsd responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/NsDescriptor' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsd/v1/ns_descriptors_content': post: tags: - "NS packages" summary: Upload a NS package by providing the content of the NS package description: Upload a NS package by providing the content of the NS package operationId: uploadNsPkgsContent requestBody: content: application/zip: schema: $ref: '#/components/schemas/NsPackage' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '202': description: Accepted '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' get: tags: - "NS packages" summary: Query information about multiple NS package resources description: Query information about multiple NS package resources operationId: getNsPkgsContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNsdInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNsdInfo' '206': description: Partial Content headers: Content-Range: schema: type: string content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsd/v1/ns_descriptors_content/{nsdInfoId}': parameters: - name: nsdInfoId in: path required: true description: NS Package ID schema: type : string get: tags: - "NS packages" summary: Read information about an individual NS package resource description: Read information about an individual NS package resource operationId: getNsPkgsIdContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NsdInfo' application/yaml: schema: $ref: '#/components/schemas/NsdInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' put: tags: - "NS packages" summary: Modify an individual NS package resource description: Modify an individual NS package resource operationId: updateNsPkgsIdContent requestBody: $ref: '#/components/requestBodies/NsdInfoModifications' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "NS packages" summary: Delete an individual NS package resource description: Delete an individual NS package resource operationId: deleteNSPkgsIdContent responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' # END NS Packages # BEGIN VNF Packages '/vnfpkgm/v1/vnf_packages': get: tags: - "VNF packages" summary: Query information about multiple VNF package resources description: Query information about multiple VNF package resources operationId: getVnfPkgs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfVnfPkgInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfVnfPkgInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' post: tags: - "VNF packages" summary: Create a new VNF package resource description: Create a new VNF package resource operationId: addVnfPkg requestBody: $ref: '#/components/requestBodies/CreateVnfPkgInfoRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/vnfpkgm/v1/vnf_packages/{vnfPkgId}': parameters: - name: vnfPkgId in: path required: true description: VNF Package ID schema: type : string get: tags: - "VNF packages" summary: Read information about an individual VNF package resource description: Read information about an individual VNF package resource operationId: getVnfPkg responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VnfPkgInfo' application/yaml: schema: $ref: '#/components/schemas/VnfPkgInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "VNF packages" summary: Delete an individual VNF package resource description: Delete an individual VNF package resource operationId: deleteVnfPkg responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' patch: tags: - "VNF packages" summary: Modify an individual VNF package resource description: Modify an individual VNF package resource operationId: updateVnfPkg requestBody: $ref: '#/components/requestBodies/VnfPkgInfoModifications' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd': parameters: - name: vnfPkgId in: path required: true description: VNF Package ID schema: type : string get: tags: - "VNF packages" summary: Read VNFD of an on-boarded VNF package description: Read VNFD of an on-boarded VNF package operationId: getVnfPkgVnfd responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/VnfDescriptor' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content': parameters: - name: vnfPkgId in: path required: true description: VNF Package ID schema: type : string get: tags: - "VNF packages" summary: Fetch an on-boarded VNF package description: Fetch an on-boarded VNF package operationId: getVnfPkgContent responses: '200': description: OK content: application/zip: schema: $ref: '#/components/schemas/VnfPackage' '206': description: Partial Content headers: Content-Range: schema: type: string content: application/zip: schema: $ref: '#/components/schemas/VnfPackage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' put: tags: - "VNF packages" summary: Upload a VNF package by providing the content of the VNF package description: Upload a VNF package by providing the content of the VNF package operationId: uploadVnfPkgContent requestBody: content: application/zip: schema: $ref: '#/components/schemas/VnfPackage' responses: '202': description: Accepted '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}': parameters: - name: vnfPkgId in: path required: true description: VNF Package ID schema: type : string - name: artifactPath in: path required: true description: Artifact Path schema: type : string get: tags: - "VNF packages" summary: Fetch individual VNF package artifact description: Fetch individual VNF package artifact operationId: getVnfPkgArtifact responses: '200': description: OK content: application/octet-stream: schema: type: string format: binary '206': description: Partial Content headers: Content-Range: schema: type: string content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/vnfpkgm/v1/vnf_packages_content': post: tags: - "VNF packages" summary: Upload a VNF package by providing the content of the VNF package description: Upload a VNF package by providing the content of the VNF package operationId: uploadVnfPkgsContent requestBody: content: application/zip: schema: $ref: '#/components/schemas/VnfPackage' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '202': description: Accepted '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' get: tags: - "VNF packages" summary: Query information about multiple VNF package resources description: Query information about multiple VNF package resources operationId: getVnfPkgsContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfVnfPkgInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfVnfPkgInfo' '206': description: Partial Content headers: Content-Range: schema: type: string content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/vnfpkgm/v1/vnf_packages_content/{packageContentId}': parameters: - name: packageContentId in: path required: true description: VNF Package Content ID schema: type : string get: tags: - "VNF packages" summary: Read information about an individual VNF package resource description: Read information about an individual VNF package resource operationId: getVnfPkgsIdContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VnfPkgInfo' application/yaml: schema: $ref: '#/components/schemas/VnfPkgInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' put: tags: - "VNF packages" summary: Modify an individual VNF package resource description: Modify an individual VNF package resource operationId: updateVnfPkgsIdContent requestBody: $ref: '#/components/requestBodies/VnfPkgInfoModifications' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "VNF packages" summary: Delete an individual VNF package resource description: Delete an individual VNF package resource operationId: deleteVnfPkgsIdContent responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' # END VNF Packages # BEGIN NS Instances '/nslcm/v1/ns_instances': get: tags: - "NS instances" summary: Query information about multiple NS instances description: Query information about multiple NS isntances operationId: getNSinstances responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNsInstance' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNsInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' post: tags: - "NS instances" summary: Create a new NS instance resource description: Create a new NS instance resource operationId: addNSinstance requestBody: $ref: '#/components/requestBodies/CreateNsRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances/{nsInstanceId}': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type : string get: tags: - "NS instances" summary: Read an individual NS instance resource description: Read an individual NS instance resource operationId: getNSinstance responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NsInstance' application/yaml: schema: $ref: '#/components/schemas/NsInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "NS instances" summary: Delete an individual NS instance resource description: Delete an individual NS instance resource operationId: deleteNSinstance responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances/{nsInstanceId}/instantiate': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type : string post: tags: - "NS instances" summary: Instantiate a NS description: | Instantiate a NS. The precondition is that the NS instance must have been created and must be in NOT_INSTANTIATED state. As a result of the success of this operation, the NFVO creates a "NS Lifecycle Operation Occurrence" resource for the request, and the NS instance state becomes INSTANTIATED. operationId: instantiateNSinstance requestBody: $ref: '#/components/requestBodies/InstantiateNsRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NS Lifecycle Operation Occurrence" resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}" schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances/{nsInstanceId}/scale': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type : string post: tags: - "NS instances" summary: Scale a NS instance description: | Scale a NS instance. The precondition is that the NS instance must have been created and must be in INSTANTIATED state. As a result of the success of this operation, the NFVO creates a "NS Lifecycle Operation Occurrence" resource for the request, and the NS instance state remains INSTANTIATED. operationId: scaleNSinstance requestBody: $ref: '#/components/requestBodies/ScaleNsRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NS Lifecycle Operation Occurrence" resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}" schema: type: string format: uri '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances/{nsInstanceId}/terminate': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type : string post: tags: - "NS instances" summary: Terminate a NS instance description: | Terminate a NS instance. The precondition is that the NS instance must have been created and must be in INSTANTIATED state. As a result of the success of this operation, the NFVO creates a "NS Lifecycle Operation Occurrence" resource for the request, and the NS instance state becomes NOT_INSTANTIATED. operationId: terminateNSinstance requestBody: # Request data is not required $ref: '#/components/requestBodies/TerminateNsRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NS Lifecycle Operation Occurrence" resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}" schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances/{nsInstanceId}/action': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type : string post: tags: - "NS instances" summary: Execute an action on a NS instance description: | Execute an action on a NS instance. The NS instance must have been created and must be in INSTANTIATED state. operationId: actionOnNSinstance requestBody: content: application/json: schema: $ref: '#/components/schemas/NSinstanceActionRequest' application/yaml: schema: $ref: '#/components/schemas/NSinstanceActionRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NS Lifecycle Operation Occurrence" resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}" schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances_content': get: tags: - "NS instances" summary: Query information about multiple NS instances description: Query information about multiple NS isntances operationId: getNSinstancesContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNsInstance' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNsInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' post: tags: - "NS instances" summary: Create a new NS instance description: Create a new NS instance operationId: createNSinstanceContent requestBody: $ref: '#/components/requestBodies/CreateNSinstanceContentRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/CreateNSinstanceContentResponse' application/yaml: schema: $ref: '#/components/schemas/CreateNSinstanceContentResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances_content/{nsInstanceContentId}': parameters: - name: nsInstanceContentId in: path required: true description: NS Instance Content ID schema: type : string get: tags: - "NS instances" summary: Read an individual NS instance resource description: Read an individual NS instance resource operationId: getNSinstanceContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NsInstance' application/yaml: schema: $ref: '#/components/schemas/NsInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "NS instances" summary: Delete an individual NS instance resource description: Delete an individual NS instance resource operationId: deleteNSinstanceContent responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_lcm_op_occs': get: tags: - "NS instances" summary: Query information about multiple NS LCM Operation Occurrences description: Query information about multiple NS LCM Operation Occurrences operationId: getNSLCMOpOccs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNsLcmOpOcc' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNsLcmOpOcc' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}': parameters: - name: nsLcmOpOccId in: path required: true description: NS LCM Operation Occurrence ID schema: type : string get: tags: - "NS instances" summary: Query information about an individual NS LCM Operation Occurrence description: Query information about an individual NS LCM Operation Occurrence operationId: getNSLCMOpOcc responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NsLcmOpOcc' application/yaml: schema: $ref: '#/components/schemas/NsLcmOpOcc' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/vnf_instances': get: tags: - "NS instances" summary: Query information about multiple VNF Instances description: Query information about multiple VNF Instances operationId: getVnfInstances responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfVnfInstanceInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfVnfInstanceInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/vnf_instances/{vnfInstanceId}': parameters: - name: vnfInstanceId in: path required: true description: VNF Instance ID schema: type : string get: tags: - "NS instances" summary: Query information about an individual VNF Instance description: Query information about an individual VNF Instance operationId: getVnfInstance responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VnfInstanceInfo' application/yaml: schema: $ref: '#/components/schemas/VnfInstanceInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' # END NS Instances # BEGIN NetSlice Templates '/nst/v1/netslice_templates': get: tags: - "NetSlice templates" summary: Query information about multiple NetSlice template resources description: Query information about multiple NetSlice template resources operationId: getNSTs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNstInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNstInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' post: tags: - "NetSlice templates" summary: Create a new NetSlice template resource description: Create a new NetSlice template resource operationId: addNST requestBody: $ref: '#/components/requestBodies/CreateNstInfoRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nst/v1/netslice_templates/{netsliceTemplateId}': parameters: - name: netsliceTemplateId in: path required: true description: NetSlice Template ID schema: type : string get: tags: - "NetSlice templates" summary: Read information about an individual NetSlice template resource description: Read information about an individual NetSlice template resource operationId: getNST responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NstInfo' application/yaml: schema: $ref: '#/components/schemas/NstInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "NetSlice templates" summary: Delete an individual NetSlice template resource description: Delete an individual NetSlice template resource operationId: deleteNST responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nst/v1/netslice_templates/{netsliceTemplateId}/artifacts/{artifactPath}': parameters: - name: netsliceTemplateId in: path required: true description: NetSlice Template ID schema: type : string - name: artifactPath in: path required: true description: Artifact Path schema: type : string get: tags: - "NetSlice templates" summary: Fetch individual NetSlice Template artifact description: Fetch individual NetSlice Template artifact operationId: getNstArtifact responses: '200': description: OK content: application/octet-stream: schema: type: string format: binary '206': description: Partial Content headers: Content-Range: schema: type: string content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nst/v1/netslice_templates/{netsliceTemplateId}/nst': parameters: - name: netsliceTemplateId in: path required: true description: NetSlice Template ID schema: type : string get: tags: - "NetSlice templates" summary: Read NST of an on-boarded NetSlice Template description: Read NST of an on-boarded NetSlice Template operationId: getNstNst responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/NetSliceTemplate' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nst/v1/netslice_templates/{netsliceTemplateId}/nst_content': parameters: - name: netsliceTemplateId in: path required: true description: NetSlice Template ID schema: type : string get: tags: - "NetSlice templates" summary: Fetch the content of a NST description: Fetch the content of a NST operationId: getNSTcontent responses: '200': description: OK content: application/zip: schema: $ref: '#/components/schemas/NetSlicePackage' '206': description: Partial Content headers: Content-Range: schema: type: string content: application/zip: schema: $ref: '#/components/schemas/NetSlicePackage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' put: tags: - "NetSlice templates" summary: Upload the content of a NST description: Upload the content of a NST operationId: updateNSTcontent requestBody: $ref: '#/components/requestBodies/NetSlicePackage' responses: '202': description: Accepted '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nst/v1/netslice_templates_content': post: tags: - "NetSlice templates" summary: Upload a NetSlice package by providing the content of the NetSlice package description: Upload a NetSlice package by providing the content of the NetSlice package operationId: uploadNstContent requestBody: content: application/zip: schema: $ref: '#/components/schemas/NetSlicePackage' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '202': description: Accepted '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' get: tags: - "NetSlice templates" summary: Query information about multiple NetSlice Template resources description: Query information about multiple NetSlice Template resources operationId: getNstContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNstInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNstInfo' '206': description: Partial Content headers: Content-Range: schema: type: string content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nst/v1/netslice_templates_content/{netsliceTemplateContentId}': parameters: - name: netsliceTemplateContentId in: path required: true description: NetSlice Template ID schema: type : string get: tags: - "NetSlice templates" summary: Read information about an individual NetSlice Template resource description: Read information about an individual NetSlice Template resource operationId: getNstIdContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NstInfo' application/yaml: schema: $ref: '#/components/schemas/NstInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' put: tags: - "NetSlice templates" summary: Modify an individual NetSlice Template resource description: Modify an individual NetSlice Template resource operationId: updateNstIdContent requestBody: $ref: '#/components/requestBodies/NstInfoModifications' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "NetSlice templates" summary: Delete an individual NetSlice Template resource description: Delete an individual NetSlice Template resource operationId: deleteNstIdContent responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' # END NetSlice Templates # BEGIN NetSlice Instances '/nsilcm/v1/netslice_instances': get: tags: - "NetSlice instances" summary: Query information about multiple NetSlice instances description: Query information about multiple NetSlice isntances operationId: getNSIs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNetSliceInstance' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNetSliceInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' post: tags: - "NetSlice instances" summary: Create a new NetSlice instance resource description: Create a new NetSlice instance resource operationId: addNSI requestBody: $ref: '#/components/requestBodies/CreateNsiRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsilcm/v1/netslice_instances/{netsliceInstanceId}': parameters: - name: netsliceInstanceId in: path required: true description: NetSlice Instance ID schema: type : string get: tags: - "NetSlice instances" summary: Read an individual NetSlice instance resource description: Read an individual NetSlice instance resource operationId: getNSI responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NetSliceInstance' application/yaml: schema: $ref: '#/components/schemas/NetSliceInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "NetSlice instances" summary: Delete an individual NetSlice instance resource description: Delete an individual NetSlice instance resource operationId: deleteNSI responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/instantiate': parameters: - name: netsliceInstanceId in: path required: true description: NetSlice Instance ID schema: type : string post: tags: - "NetSlice instances" summary: Instantiate a NetSlice description: | Instantiate a NetSlice. The precondition is that the NetSlice instance must have been created and must be in NOT_INSTANTIATED state. As a result of the success of this operation, the NFVO creates a "NetSlice Lifecycle Operation Occurrence" resource for the request, and the NS instance state becomes INSTANTIATED. operationId: instantiateNSI requestBody: $ref: '#/components/requestBodies/InstantiateNsiRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NetSlice Lifecycle Operation Occurrence" resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}" schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/terminate': parameters: - name: netsliceInstanceId in: path required: true description: NetSlice Instance ID schema: type : string post: tags: - "NetSlice instances" summary: Terminate a NetSlice instance description: | Terminate a NetSlice instance. The precondition is that the NetSlice instance must have been created and must be in INSTANTIATED state. As a result of the success of this operation, the NFVO creates a "NetSlice Lifecycle Operation Occurrence" resource for the request, and the NetSlice instance state becomes NOT_INSTANTIATED. operationId: terminateNSI requestBody: # Request data is not required $ref: '#/components/requestBodies/TerminateNsiRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NetSlice Lifecycle Operation Occurrence" resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}" schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/action': parameters: - name: netsliceInstanceId in: path required: true description: NetSlice Instance ID schema: type : string post: tags: - "NetSlice instances" summary: Execute an action on a NetSlice instance description: | Execute an action on a NetSlice instance. The NetSlice instance must have been created and must be in INSTANTIATED state. operationId: actionOnNSI requestBody: content: application/json: schema: $ref: '#/components/schemas/NsiActionRequest' application/yaml: schema: $ref: '#/components/schemas/NsiActionRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NS Lifecycle Operation Occurrence" resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}" schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsilcm/v1/netslice_instances_content': get: tags: - "NetSlice instances" summary: Query information about multiple NetSlice instances description: Query information about multiple NetSlice isntances operationId: getNSIsContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNetSliceInstance' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNetSliceInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' post: tags: - "NetSlice instances" summary: Create a new NetSlice instance description: Create a new NetSlice instance operationId: createNSIContent requestBody: $ref: '#/components/requestBodies/CreateNsiContentRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/CreateNsiContentResponse' application/yaml: schema: $ref: '#/components/schemas/CreateNsiContentResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsilcm/v1/netslice_instances_content/{netsliceInstanceContentId}': parameters: - name: netsliceInstanceContentId in: path required: true description: NetSlice Instance Content ID schema: type : string get: tags: - "NetSlice instances" summary: Read an individual NetSlice instance resource description: Read an individual NetSlice instance resource operationId: getNSIContent responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NetSliceInstance' application/yaml: schema: $ref: '#/components/schemas/NetSliceInstance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' delete: tags: - "NetSlice instances" summary: Delete an individual NS instance resource description: Delete an individual NS instance resource operationId: deleteNSIContent responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ObjectId' application/yaml: schema: $ref: '#/components/schemas/ObjectId' '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsilcm/v1/nsi_lcm_op_occs': get: tags: - "NetSlice instances" summary: Query information about multiple NetSlice LCM Operation Occurrences description: Query information about multiple NetSlice LCM Operation Occurrences operationId: getNsiLcmOpOccs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nsilcm/v1/nsi_lcm_op_occs/{nsiLcmOpOccId}': parameters: - name: nsiLcmOpOccId in: path required: true description: NetSlice LCM Operation Occurrence ID schema: type : string get: tags: - "NetSlice instances" summary: Query information about an individual NetSlice LCM Operation Occurrence description: Query information about an individual NetSlice LCM Operation Occurrence operationId: getNsiLcmOpOcc responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NsiLcmOpOcc' application/yaml: schema: $ref: '#/components/schemas/NsiLcmOpOcc' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' # END NetSlice Instances # BEGIN NSPM # /nspm/v1/pm_jobs/{pmJobId}/reports/{reportId} # END NSPM # BEGIN PDU # /pdu/v1/pdu_descriptors # /pdu/v1/pdu_descriptors/{pduDescriptorId} # END PDU # BEGIN Admin # /admin/v1/tokens # /admin/v1/tokens/{tokenId} # /admin/v1/users # /admin/v1/users/{userId} # /admin/v1/projects # /admin/v1/projects/{projectId} # /admin/v1/roles # /admin/v1/roles/{roleId} # /admin/v1/vims # /admin/v1/vims/{vimId} # /admin/v1/vim_accounts # /admin/v1/vim_accounts/{vimAccountId} # /admin/v1/wim_accounts # /admin/v1/wim_accounts/{wimAccountId} # /admin/v1/sdns # /admin/v1/sdns/{sdnId} # END Admin externalDocs: description: Find out more OSM url: 'http://osm.etsi.org/wikipub' components: responses: BadRequest: description: Bad request. The server cannot process the request due to a client error. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' Unauthorized: description: Authorization information is missing or invalid. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' Forbidden: description: Not enough permissions to do this operation. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' NotFound: description: The specified resource was not found. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' MethodNotAllowed: description: This method is not supported for the requested resource. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' NotAcceptable: description: The requested resource content cannot match the Accept headers sent in the request. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' Conflict: description: The operation cannot be executed currently, due to a conflict with the state of the resource. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' UnprocessableEntity: description: The request was well-formed but was unable to be followed due to semantic errors. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' InternalServerError: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' ServiceUnavailable: description: Service temporarily unavailable. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' UnexpectedError: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' VnfDescriptor: description: VNF Descriptor (plaintext) content: text/plain: schema: $ref: '#/components/schemas/VnfDescriptor' VnfPackage: description: VNF Package (compressed) content: application/zip: schema: $ref: '#/components/schemas/VnfPackage' NsDescriptor: description: NS Descriptor (plaintext) content: text/plain: schema: $ref: '#/components/schemas/NsDescriptor' NsPackage: description: NS Package (compressed) content: application/zip: schema: $ref: '#/components/schemas/NsPackage' NetSliceTemplate: description: NetSlice Template (plaintext) content: text/plain: schema: $ref: '#/components/schemas/NetSliceTemplate' NetSlicePackage: description: NetSlice Package (compressed) content: application/zip: schema: $ref: '#/components/schemas/NetSlicePackage' # END RESPONSES schemas: ObjectId: type: object properties: id: type: string format: uuid KeyValuePairs: # A free list of key:value pairs type: object additionalProperties: true NsDescriptor: type: string format: yaml|json NsPackage: type: string format: binary CreateNsdInfoRequest: # A free list of key:value pairs type: object additionalProperties: true NsdInfoModifications: description: | NS Descriptor Information Only generic fields (id, name, description) are described For a full specification of the NS Descriptor see: http://osm-download.etsi.org/ftp/osm-doc/nsd.html type: object properties: id: description: NSD Identifier type: string name: description: NSD Name type: string description: description: NSD Description type: string NsdInfo: description: | NS Descriptor Information Only generic fields (_id, id, name, description) are described For a full specification of the NS Descriptor see: http://osm-download.etsi.org/ftp/osm-doc/nsd.html type: object properties: _id: description: | Identifier of the onboarded individual NS descriptor resource. This identifier is allocated by the NFVO. type: string format: uuid id: 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 name: 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 description: description: | Description of the onboarded NSD. This information is copied from the NSD content. type: string required: - _id - id ArrayOfNsdInfo: type: array items: $ref: '#/components/schemas/NsdInfo' ProblemDetails: type: object properties: type: type: string format: uri title: type: string status: type: integer detail: type: string instance: type: string format: uri additionalProperties: true required: - status - detail VnfDescriptor: type: string format: yaml|json VnfPackage: type: string format: binary CreateVnfPkgInfoRequest: # A free list of key:value pairs type: object additionalProperties: true VnfPkgInfoModifications: description: | VNF Package Information Only generic fields (id, name, description) are described For a full specification of the VNF Descriptor see: http://osm-download.etsi.org/ftp/osm-doc/vnfd.html type: object properties: id: description: VNF Package Identifier type: string name: description: VNF Package Name type: string description: description: VNF Package description type: string VnfPkgInfo: description: | VNF Package Information Only generic fields (_id, id, name, description) are described For a full specification of the VNF Descriptor see: http://osm-download.etsi.org/ftp/osm-doc/vnfd.html type: object properties: _id: description: | Identifier of the VNF package. This identifier is allocated by the NFVO. type: string format: uuid id: description: VNF Package Identifier type: string name: description: VNF Package Name type: string description: description: VNF Package description type: string required: - _id - id ArrayOfVnfPkgInfo: type: array items: $ref: '#/components/schemas/VnfPkgInfo' CreateNsRequest: type: object properties: nsdId: description: | Identifier of the NSD that defines the NS instance to be created. type: string format: uuid nsName: description: | Human-readable name of the NS instance to be created. type: string nsDescription: description: | Human-readable description of the NS instance to be created. type: string vimAccountId: description: | Identifier of the VIM Account where the NS instance shall be created. type: string format: uuid required: - nsdId - nsName - vimAccountId NsInstance: description: | NS Instance Information Only generic fields (_id, id, name, description) are described For a full specification of the NS Instance see: http://osm-download.etsi.org/ftp/osm-doc/nsr.html type: object properties: _id: description: Identifier of the NS instance. type: string format: uuid id: description: Identifier of the NS instance. type: string format: uuid name: description: Human readable name of the NS instance. type: string description: description: Human readable description of the NS instance. type: string required: - _id - id - name InstantiateNsRequest: type: object properties: nsName: description: | Human-readable name of the NS instance to be created. type: string nsdId: description: | Identifier of the NSD that defines the NS instance to be created. type: string format: uuid vimAccountId: description: | Identifier of the VIM Account where the NS instance shall be created. type: string format: uuid required: - nsName - nsdId - vimAccountId ScaleNsRequest: type: object properties: scaleType: type: string enum: - SCALE_VNF scaleVnfData: type: object properties: scaleVnfType: type: string enum: - SCALE_IN - SCALE_OUT scaleByStepData: type: object properties: scaling-group-descriptor: type: string member-vnf-index: type: string additionalProperties: true additionalProperties: true additionalProperties: true TerminateNsRequest: type: object properties: terminationTime: description: | Timestamp indicating the end time of the NS, i.e. the NS will be terminated automatically at this timestamp. Cardinality "0" indicates the NS termination takes place immediately. type: string format: date-time ArrayOfNsInstance: type: array items: $ref: '#/components/schemas/NsInstance' NSinstanceActionRequest: type: object properties: primitive: type: string primitive_params: $ref: '#/components/schemas/KeyValuePairs' lcmOperationType: type: string nsInstanceId: type: string format: uuid member_vnf_index: type: string vdu_id: type: string vdu_count_index: type: integer required: - primitive - primitive_params additionalProperties: false CreateNSinstanceContentRequest: type: object properties: nsdId: description: | Identifier of the NSD that defines the NS instance to be created. type: string format: uuid nsName: description: | Human-readable name of the NS instance to be created. type: string vimAccountId: description: | Identifier of the VIM Account where the NS instance shall be created. type: string format: uuid required: - nsdId - nsName - vimAccountId CreateNSinstanceContentResponse: type: object properties: id: type: string format: uuid nslcmop_id: type: string format: uuid NsLcmOpOcc: type: object properties: _id: type: string format: uuid id: type: string format: uuid lcmOperationType: type: string nsInstanceId: type: string format: uuid isAutomaticInvocation: type: boolean isCancelPending: type: boolean startTime: type: number format: float statusEnteredTime: type: number format: float operationParams: type: object properties: nsName: type: string nsdId: type: string format: uuid vimAccountId: type: string format: uuid nsInstanceId: type: string format: uuid lcmOperationType: type: string operationState: type: string detailed-status: type: string links: type: object properties: self: type: string format: path # uri? nsInstance: type: string format: path # uri? ArrayOfNsLcmOpOcc: type: array items: $ref: '#/components/schemas/NsLcmOpOcc' VnfInstanceInfo: description: | VNF Instance Information Only generic fields (_id, id) are described For a full specification of the VNF Instance see: http://osm-download.etsi.org/ftp/osm-doc/vnfr.html type: object properties: _id: type: string format: uuid id: type: string format: uuid ArrayOfVnfInstanceInfo: type: array items: $ref: '#/components/schemas/VnfInstanceInfo' NstInfo: description: | NetSlice Template Information Only generic fields (_id, id, name) are described For a full specification of the NetSlice Template see: http://osm-download.etsi.org/ftp/osm-doc/nst.html type: object properties: _id: description: NetSlice Template Identifier type: string format: uuid id: description: Human readable NetSlice Template Identifier type: string name: description: Human readable name of the NetSlice Template type: string ArrayOfNstInfo: type: array items: $ref: '#/components/schemas/NstInfo' CreateNstInfoRequest: # A free list of key:value pairs type: object additionalProperties: true NetSliceTemplate: type: string format: yaml|json NetSlicePackage: type: string format: binary NstInfoModifications: description: | NetSlice Template Information Only generic fields (id, name) are described For a full specification of the NetSlice Template see: http://osm-download.etsi.org/ftp/osm-doc/nst.html type: object properties: id: description: NST Identifier type: string name: description: NST Name type: string NetSliceInstance: description: | NetSlice Instance Information Only generic fields (_id, id, name, description) are described For a full specification of the NetSlice Instance see: http://osm-download.etsi.org/ftp/osm-doc/nsi.html type: object properties: _id: description: Identifier of the NetSlice instance. type: string format: uuid id: description: Identifier of the NetSlice instance. type: string format: uuid name: description: Human readable name of the NetSlice instance. type: string description: description: Human readable description of the NetSlice instance. type: string required: - _id - id - name ArrayOfNetSliceInstance: type: array items: $ref: '#/components/schemas/NetSliceInstance' CreateNsiRequest: type: object properties: nstId: description: | Identifier of the NST that defines the NetSlice instance to be created. type: string format: uuid nsiName: description: | Human-readable name of the NetSlice instance to be created. type: string nsiDescription: description: | Human-readable description of the NetSlice instance to be created. type: string vimAccountId: description: | Identifier of the VIM Account where the NetSlice instance shall be created. type: string format: uuid required: - nstId - nsiName - vimAccountId InstantiateNsiRequest: type: object properties: nsiName: description: | Human-readable name of the NetSlice instance to be created. type: string nstId: description: | Identifier of the NST that defines the NetSlice instance to be created. type: string format: uuid vimAccountId: description: | Identifier of the VIM Account where the NetSlice instance shall be created. type: string format: uuid required: - nsiName - nstId - vimAccountId TerminateNsiRequest: type: object properties: terminationTime: description: | Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated automatically at this timestamp. Cardinality "0" indicates the NSI termination takes place immediately. type: string format: date-time NsiActionRequest: type: object properties: primitive: type: string primitive_params: $ref: '#/components/schemas/KeyValuePairs' lcmOperationType: type: string netsliceInstanceId: type: string format: uuid required: - primitive - primitive_params CreateNsiContentRequest: type: object properties: nstId: description: | Identifier of the NST that defines the NetSlice instance to be created. type: string format: uuid nsiName: description: | Human-readable name of the NetSlice instance to be created. type: string vimAccountId: description: | Identifier of the VIM Account where the NetSlice instance shall be created. type: string format: uuid required: - nsdId - nsName - vimAccountId CreateNsiContentResponse: type: object properties: id: type: string format: uuid nsilcmop_id: type: string format: uuid NsiLcmOpOcc: type: object properties: _id: type: string format: uuid id: type: string format: uuid lcmOperationType: type: string netsliceInstanceId: type: string format: uuid isAutomaticInvocation: type: boolean isCancelPending: type: boolean startTime: type: number format: float statusEnteredTime: type: number format: float operationParams: type: object properties: nsiName: type: string nstId: type: string format: uuid vimAccountId: type: string format: uuid netsliceInstanceId: type: string format: uuid lcmOperationType: type: string nslcmops_ids: type: array items: type: string format: uuid operationState: type: string detailed-status: type: string links: type: object properties: self: type: string format: path # uri? netsliceInstanceId: type: string format: path # uri? ArrayOfNsiLcmOpOcc: type: array items: $ref: '#/components/schemas/NsiLcmOpOcc' # END SCHEMAS requestBodies: CreateNsdInfoRequest: content: application/json: schema: $ref: '#/components/schemas/CreateNsdInfoRequest' application/yaml: schema: $ref: '#/components/schemas/CreateNsdInfoRequest' NsdInfoModifications: content: application/json: schema: $ref: '#/components/schemas/NsdInfoModifications' application/yaml: schema: $ref: '#/components/schemas/NsdInfoModifications' NsDescriptor: content: text/plain: schema: $ref: '#/components/schemas/NsDescriptor' NsPackage: content: application/zip: schema: $ref: '#/components/schemas/NsPackage' CreateVnfPkgInfoRequest: content: application/json: schema: $ref: '#/components/schemas/CreateVnfPkgInfoRequest' application/yaml: schema: $ref: '#/components/schemas/CreateVnfPkgInfoRequest' VnfPkgInfoModifications: content: application/json: schema: $ref: '#/components/schemas/VnfPkgInfoModifications' application/yaml: schema: $ref: '#/components/schemas/VnfPkgInfoModifications' VnfPackage: content: application/zip: schema: $ref: '#/components/schemas/VnfPackage' VnfDescriptor: content: text/plain: schema: $ref: '#/components/schemas/VnfDescriptor' CreateNsRequest: content: application/json: schema: $ref: '#/components/schemas/CreateNsRequest' application/yaml: schema: $ref: '#/components/schemas/CreateNsRequest' InstantiateNsRequest: content: application/json: schema: $ref: '#/components/schemas/InstantiateNsRequest' application/yaml: schema: $ref: '#/components/schemas/InstantiateNsRequest' ScaleNsRequest: content: application/json: schema: $ref: '#/components/schemas/ScaleNsRequest' application/yaml: schema: $ref: '#/components/schemas/ScaleNsRequest' TerminateNsRequest: content: application/json: schema: $ref: '#/components/schemas/TerminateNsRequest' application/yaml: schema: $ref: '#/components/schemas/TerminateNsRequest' CreateNSinstanceContentRequest: content: application/json: schema: $ref: '#/components/schemas/CreateNSinstanceContentRequest' application/yaml: schema: $ref: '#/components/schemas/CreateNSinstanceContentRequest' CreateNstInfoRequest: content: application/json: schema: $ref: '#/components/schemas/CreateNstInfoRequest' application/yaml: schema: $ref: '#/components/schemas/CreateNstInfoRequest' NetSliceTemplate: content: text/plain: schema: $ref: '#/components/schemas/NetSliceTemplate' NetSlicePackage: content: application/zip: schema: $ref: '#/components/schemas/NetSlicePackage' NstInfoModifications: content: application/json: schema: $ref: '#/components/schemas/NstInfoModifications' application/yaml: schema: $ref: '#/components/schemas/NstInfoModifications' CreateNsiRequest: content: application/json: schema: $ref: '#/components/schemas/CreateNsiRequest' application/yaml: schema: $ref: '#/components/schemas/CreateNsiRequest' InstantiateNsiRequest: content: application/json: schema: $ref: '#/components/schemas/InstantiateNsiRequest' application/yaml: schema: $ref: '#/components/schemas/InstantiateNsiRequest' TerminateNsiRequest: content: application/json: schema: $ref: '#/components/schemas/TerminateNsiRequest' application/yaml: schema: $ref: '#/components/schemas/TerminateNsiRequest' NsiActionRequest: content: application/json: schema: $ref: '#/components/schemas/NsiActionRequest' application/yaml: schema: $ref: '#/components/schemas/NsiActionRequest' CreateNsiContentRequest: content: application/json: schema: $ref: '#/components/schemas/CreateNsiContentRequest' application/yaml: schema: $ref: '#/components/schemas/CreateNsiContentRequest' # END REQUEST BODIES securitySchemes: bearerAuth: type: http scheme: bearer