openapi: 3.0.0 servers: - description: OSM NB API url: https://localhost:9999/osm/ 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) or connect to IRCs [Freenode, #etsi-osm](http://webchat.freenode.net?channels=etsi-osm) or on [OSM IRC, #tech](https://osm.etsi.org:8080/kiwi) 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 paths: '/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 security: - bearerAuth: [] 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 security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/CreateNsdInfoRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri 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' '/nsd/v1/ns_descriptors/{nsdInfoId}': get: tags: - "NS packages" summary: Read information about an individual NS descriptor resource description: Read information about an individual NS descriptor resource operationId: getNSD security: - bearerAuth: [] 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 security: - bearerAuth: [] 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 operational state and/or the user defined data of an individual NS descriptor resource description: Modify the operational state and/or the user defined data of an individual NS descriptor resource operationId: updateNSD security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/NsdInfoModifications' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NsdInfoModifications' application/yaml: schema: $ref: '#/components/schemas/NsdInfoModifications' '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': get: tags: - "NS packages" summary: Fetch the content of a NSD description: Fetch the content of a NSD operationId: getNSDcontent security: - bearerAuth: [] responses: '200': description: OK $ref: '#/components/requestBodies/NsdContent' '206': description: Partial Content headers: Content-Range: schema: type: string $ref: '#/components/requestBodies/NsdContent' '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 security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/NsdContent' 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': get: tags: - "VNF packages" summary: Query information about multiple VNF package resources description: Query information about multiple VNF package resoureces operationId: getVnfPkgs security: - bearerAuth: [] 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 security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/CreateVnfPkgInfoRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri 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' '/vnfpkgm/v1/vnf_packages/{vnfPkgId}': get: tags: - "VNF packages" summary: Read information about an individual VNF package resource description: Read information about an individual VNF package resource operationId: getVnfPkg security: - bearerAuth: [] 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 security: - bearerAuth: [] 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 the operational state and/or the user defined data of an individual VNF package resource description: Modify the operational state and/or the user defined data of an individual VNF package resource operationId: updateVnfPkg security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/VnfPkgInfoModifications' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VnfPkgInfoModifications' application/yaml: schema: $ref: '#/components/schemas/VnfPkgInfoModifications' '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': get: tags: - "VNF packages" summary: Read VNFD of an on-boarded VNF package description: Read VNFD of an on-boarded VNF package operationId: getVnfPkgVNFD security: - bearerAuth: [] 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': get: tags: - "VNF packages" summary: Fetch an on-boarded VNF package description: Fetch an on-boarded VNF package operationId: getVnfPkgContent security: - bearerAuth: [] 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 security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/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}/package_content/upload_from_uri': post: tags: - "VNF packages" summary: Upload a VNF package by providing the URI of the VNF package description: Upload a VNF package by providing the URI of the VNF package operationId: uploadVnfPkgContentFromURI security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/UploadVnfPackageFromUriRequest' 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}': get: tags: - "VNF packages" summary: Fetch individual VNF package artifact description: Fetch individual VNF package artifact operationId: getVnfPkgArtifact security: - bearerAuth: [] 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' '/nslcm/v1/ns_instances': get: tags: - "NS instances" summary: Query information about multiple NS instances description: Query information about multiple NS isntances operationId: getNSinstances security: - bearerAuth: [] 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 security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/CreateNsRequest' responses: '201': description: Created headers: Location: schema: type: string format: uri 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' '/nslcm/v1/ns_instances/{nsInstanceId}': get: tags: - "NS instances" summary: Read an individual NS instance resource description: Read an individual NS instance resource operationId: getNSinstance security: - bearerAuth: [] 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 security: - bearerAuth: [] 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': 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 security: - bearerAuth: [] 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 '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': 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 security: - bearerAuth: [] 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}/update': post: tags: - "NS instances" summary: Update a NS instance description: | Update 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: updateNSinstance security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/UpdateNsRequest' 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}/heal': post: tags: - "NS instances" summary: Heal a NS instance description: | Heal 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: healNSinstance security: - bearerAuth: [] requestBody: $ref: '#/components/requestBodies/HealNsRequest' 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': 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 security: - bearerAuth: [] requestBody: $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 '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' 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' schemas: NsDescriptor: type: string NsPackage: type: string format: binary KeyValuePairs: type: object additionalProperties: type: string CreateNsdInfoRequest: type: object properties: userDefinedData: $ref: '#/components/schemas/KeyValuePairs' NsdOnboardingStateType: type: string enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED] description: | NSD onboarding state: * `CREATED` - The NSD information object is created. * `UPLOADING` - The associated NSD content is being uploaded. * `PROCESSING` - The associated NSD content is being processed, e.g. validation. * `ONBOARDED` - The associated NSD content is on-boarded. NsdOperationalStateType: type: string enum: [ENABLED, DISABLED] description: | NSD operational state: * `ENABLED` - The NSD is enabled. * `DISABLED` - The NSD is disabled. NsdUsageStateType: type: string enum: [IN_USE, NOT_IN_USE] description: | NSD usage state: * `IN_USE` - The NSD is in use. * `NOT_IN_USE` - The NSD is not in use. NsdInfoModifications: type: object properties: nsdOperationalState: $ref: '#/components/schemas/NsdOperationalStateType' userDefinedData: $ref: '#/components/schemas/KeyValuePairs' NsdInfo: type: object properties: id: description: | Identifier of the onboarded individual NS descriptor resource. This identifier is allocated by the NFVO. type: string format: uuid nsdId: description: | This identifier, which is allocated by the NSD designer, identifies the NSD in a globally unique way. It is copied from the NSD content and shall be present after the NSD content is on-boarded. type: string format: uuid nsdName: description: | Name of the onboarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded. type: string nsdVersion: description: | Version of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded. type: string nsdDesigner: description: | Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded. type: string nsdInvariantId: description: | This identifier, which is allocated by the NSD designer, identifies an NSD in a version independent manner. This information is copied from the NSD content and shall be present after the NSD content is on-boarded. type: string format: uuid vnfPkgIds: description: | List of VNF package identifiers referenced by the on-boarded NS descriptor resource. type: array items: type: string format: uuid pnfdInfoIds: description: | List of PNFD identifiers referenced by the on-boarded NS descriptor resource. type: array items: type: string format: uuid nestedNsdInfoIds: description: | List of NSD identifiers referenced by the on-boarded NS descriptor resource. type: array items: type: string format: uuid nsdOnboardingState: description: | Onboarding state of the individual NS descriptor resource. $ref: '#components/schemas/NsdOnboardingStateType' onboardingFailureDetails: description: | Failure details of current onboarding procedure. It follows the "ProblemDetails" structure. It shall be present when the "nsdOnboardingState" attribute is CREATED and the uploading or processing fails in NFVO. $ref: '#/components/schemas/ProblemDetails' nsdOperationalState: description: | Operational state of the individual NS descriptor resource. This attribute can be modified with the PATCH method. If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", the value of the nsdOperationalState attribute shall be equal to "DISABLED". $ref: '#components/schemas/NsdOperationalStateType' nsdUsagestate: description: | Usage state of the individual NS descriptor resource. If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", the value of the nsdUsageState attribute shall be equal to "NOT_IN_USE". $ref: '#components/schemas/NsdUsageStateType' userDefinedData: $ref: '#/components/schemas/KeyValuePairs' _links: description: | Links to resources related to this resource type: string self: description: | URI of this resource type: string format: uri nsd_content: description: | Link to the NSD content resource. type: string format: uri required: - id - nsdOnboardingState - nsdOperationalState - nsdUsageState - _links - self - nsd_content 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 VnfPackage: type: string format: binary CreateVnfPkgInfoRequest: type: object properties: userDefinedData: $ref: '#/components/schemas/KeyValuePairs' VnfPackageOnboardingStateType: type: string enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED] description: | VNF Package onboarding state: * `CREATED` - The VNF Package information object is created. * `UPLOADING` - The VNF Package is being uploaded. * `PROCESSING` - The VNF Package is being processed, e.g. validation. * `ONBOARDED` - The VNF Package is successfully on-boarded. VnfPackageOperationalStateType: type: string enum: [ENABLED, DISABLED] description: | VNF Package operational state: * `ENABLED` - The VNF Package is enabled. * `DISABLED` - The VNF Package is disabled. VnfPackageUsageStateType: type: string enum: [IN_USE, NOT_IN_USE] description: | VNF Package usage state: * `IN_USE` - The VNF Package is in use. * `NOT_IN_USE` - The VNF Package is not in use. #SoftwareImageFormatType: # type: string # enum: [AKI, AMI, ARI, BARE, DOCKER, OVA, OVF] # description: | # Software image format. Permitted values: # * `AKI`: a kernel image format # * `AMI`: a machine image format # * `ARI`: a ramdisk image format # * `BARE`: the image does not have a container or metadata envelope # * `DOCKER`: docker container format # * `OVA`: OVF package in a tarfile # * `OVF`: OVF container format VnfPackageSoftwareImageInfo: type: object additionalProperties: true #properties: #id: # description: | # Identifier of the software image, unique in the scope of a VNFD. # type: string #name: # description: | # Name of the software image. # type: string #provider: # description: | # Provider of the software image. # type: string #version: # description: | # Version of the software image. # type: string #checksum: # description: | # Checksum of the software image file. # type: string #containerFormat: # description: | # Container format indicates whether the software image is in a # file format that also contains metadata about the actual # software. # $ref: '#/components/schemas/SoftwareImageFormatType' #diskFormat: # description: | # Disk format of a software image is the format of the underlying # disk image. # $ref: '#/components/schemas/DiskFormatType' # ... VnfPackageArtifactInfo: type: object additionalProperties: true VnfPkgInfoModifications: type: object properties: operationalState: $ref: '#/components/schemas/VnfPackageOperationalStateType' userDefinedData: $ref: '#/components/schemas/KeyValuePairs' VnfPkgInfo: type: object properties: id: description: | Identifier of the VNF package. This identifier is allocated by the NFVO. type: string format: uuid vnfdId: description: | This identifier, which is managed by the VNF provider, identifies the VNF package and the VNFD in a globally unique way. It's copied from the VNFD of the on-boarded VNF package. It shall be present after the VNF package content has been on-boarded and absent otherwise. type: string format: uuid vnfProvider: description: | Deovider of the VNF pacakge and the VNFD. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise. type: string vnfProductName: description: | Name to identify the VNF product. Invariant for the VNF product ligetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise. type: string vnfSoftwareVersion: description: | Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise. type: string vnfdVersion: description: | The version of the VNFD. TSof information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise. type: string checksum: description: | Checksum of the on-boarded VNF package. It shall be present after the VNF package content has been on-boarded and absent otherwise. type: string softwareImages: description: | Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector. type: array items: $ref: '#/components/schemas/VnfPackageSoftwareImageInfo' additionalArtifacts: description: | Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts. type: array items: $ref: '#/components/schemas/VnfPackageArtifactInfo' onboardingState: description: | On-boarding state of the VNF package. $ref: '#components/schemas/VnfPackageOnboardingStateType' operationalState: description: | Operational state of the VNF package. If the value of the onboardingState attribute is not equal to "ONBOARDED", the value of the operationalState attribute shall be equal to "DISABLED". $ref: '#components/schemas/VnfPackageOperationalStateType' usageState: description: | Usage state of the VNF package. If the value of the onboardingState attribute is not equal to "ONBOARDED", the value of the usageState attribute shall be equal to "NOT_IN_USE". $ref: '#components/schemas/VnfPackageUsageStateType' userDefinedData: description: | User defined data for the VNF package $ref: '#/components/schemas/KeyValuePairs' _links: description: | Links to resources related to this resource type: string self: description: | URI of this resource type: string format: uri vnfd: description: | Link to the VNFD resource. This link shall be present after the VNF package content is on-boarded. type: string format: uri package_content: description: | Link to the "VNF package content" resource. type: string format: uri required: - id - onboardingState - operationalState - usageState - _links - self - package_content ArrayOfVnfPkgInfo: type: array items: $ref: '#/components/schemas/VnfPkgInfo' UploadVnfPackageFromUriRequest: type: object properties: addressInformation: description: | Address information of the VNF package content. The NFVO can use this address to obtain the VNF package. type: string format: uri userName: description: | User name to be used for authentication. Shall be present if user name is needed but has not been provisioned out of band. type: string password: description: | Password to be used for authentication. Shall be present if password is needed but has not been provisioned out of band. type: string required: - addressInformation 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 required: - nsdId - nsName - nsDescription NsStateType: type: string enum: [NOT_INSTANTIATED, INSTANTIATED] description: | State of the NS instance. Permitted values: * `NOT_INSTANTIATED`: The NS instance is terminated or not instantiated. * `INSTANTIATED`: The NS instance is instantiated. NsInstance: type: object properties: id: description: Identifier of the NS instance. type: string format: uuid nsInstanceName: description: Human readable name of the NS instance. type: string nsInstanceDescription: description: Human readable description of the NS instance. type: string nsdId: description: Identifier of the NSD on which the NS instance is based. type: string format: uuid flavourId: description: | Identifier of the NS deployment flavour applied to the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED. type: string vnfInstance: description: | Information on constituent VNF(s) of the NS instance. If the "nsState" attribute is INSTANTIATED, at least either one "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present. type: array items: $ref: '#/components/schemas/VnfInstance' pnfInfo: description: | Information on the PNF(s) that are part of the NS instance. type: array items: $ref: '#/components/schemas/PnfInfo' virtualLinkInfo: description: | Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity. type: array items: $ref: '#/components/schemas/NsVirtualLinkInfo' vnffgInfo: description: | Information on the VNFFG(s) of the NS instance. type: array items: $ref: '#/components/schemas/VnffgInfo' sapInfo: description: | Information on the SAP(s) of the NS instance. type: array items: $ref: '#/components/schemas/SapInfo' nestedNsInstanceId: description: | Identifier of the nested NS(s) of the NS instance. If the "nsState" attribute is INSTANTIATED, at least either one "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present. type: array items: type: string format: uuid nsState: description: | The state of the NS instance. $ref: '#components/schemas/NsStateType' nsScaleStatus: description: | Status of each NS scaling aspect declared in the applicable DF, how "big" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED. type: array items: $ref: '#/components/schemas/NsScaleInfo' additionalAffinityOrAntiAffinityRule: description: | Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD. type: array items: $ref: '#/components/schemas/AffinityOrAntiAffinityRule' _links: description: | Links to resources related to this resource type: string self: description: | URI of this resource type: string format: uri nestedNsInstances: description: | Links to the nested NS instances of the present NS instance. type: array items: type: string format: uri instantiate: description: | Link to the "instantiate" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance in NOT_INSTANTIATED state). type: string format: uri terminate: description: | Link to the "terminate" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state). type: string format: uri update: description: | Link to the "update" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state). type: string format: uri scale: description: | Link to the "scale" task resource, if the related operation is supported for this NS instance, and is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state). type: string format: uri heal: description: | Link to the "heal" task resource, if the related operation is supported for this NS instance, and is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state). type: string format: uri required: - id - nsInstanceName - nsInstanceDescription - nsdId - nsdInfoId - nsState - _links - self VnfInstance: type: object additionalProperties: true PnfInfo: type: object additionalProperties: true NsVirtualLinkInfo: type: object additionalProperties: true VnffgInfo: type: object additionalProperties: true SapInfo: type: object additionalProperties: true NsScaleInfo: type: object additionalProperties: true AffinityOrAntiAffinityRule: type: object additionalProperties: true SapData: type: object additionalProperties: true AddPnfData: type: object additionalProperties: true VnfInstanceData: type: object additionalProperties: true VnfLocationConstraint: type: object additionalProperties: true ParamsForVnf: type: object additionalProperties: true InstantiateNsRequest: type: object properties: nsFlavourId: description: Identifier of the NS deployment flavour to be instantiated. type: string sapData: description: Create data concerning the SAPs of this NS. type: array items: $ref: '#/components/schemas/SapData' addpnfData: description: Information on the PNF(s) that are part of this NS. type: array items: $ref: '#/components/schemas/AddPnfData' vnfInstanceData: description: | Specify an existing VNF instance to be used in the NS. If needed, the VNF Profile to be used for this VNF instance is also provided. type: array items: $ref: '#/components/schemas/VnfInstanceData' nestedNsInstanceId: description: | Specify an existing NS instance to be used as a nested NS within the NS. type: array items: type: string format: uuid localizationLanguage: description: | Defines the location constraints for the VNF to be instantiated as part of the NS instantiation. An example can be a constraint for the VNF to be in a specific geographic location. type: array items: $ref: '#/components/schemas/VnfLocationConstraint' additionalParamsForNs: description: | Allows the OSS/BSS to provide additional parameter(s) at the NS level (as opposed to the VNF level, which is covered in additionalParamsForVnf). $ref: '#/components/schemas/KeyValuePairs' additionalParamsForVnf: description: | Allows the OSS/BSS to provide additional parameter(s) per VNF instance (as opposed to the NS level, which is covered in additionalParamsForNs). This is for VNFs that are to be created by the NFVO as part of the NS instantiation and not for existing VNF that are referenced for reuse. type: array items: $ref: '#/components/schemas/ParamsForVnf' startTime: description: | Timestamp indicating the earliest time to instantiate the NS. Cardinality "0" indicates the NS instantiation takes place immediately. type: string format: date-time nsInstantiationLevelId: description: | Identifies one of the NS instantiation levels declared in the DF applicable to this NS instance. If not present, the default NS instantiation level as declared in the NSD shall be used. type: string additionalAffinityOrAntiAffiniityRule: description: | Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation. Shall not conflict with rules already specified in the NSD. type: array items: $ref: '#/components/schemas/AffinityOrAntiAffinityRule' required: - nsFlavourId UpdateNsRequest: type: object properties: updateType: type: string enum: [ ADD_VNF, REMOVE_VNF, INSTANTIATE_VNF, CHANGE_VNF_DF, OPERATE_VNF, MODIFY_VNF_INFORMATION, CHANGE_EXTERNAL_VNF_CONNECTIVITY, REMOVE_SAP, ADD_NESTED_NS, REMOVE_NESTED_NS, ASSOC_NEW_NSD_VERSION, MOVE_VNF, ADD_VNFFG, REMOVE_VNFFG, UPDATE_VNFFG, CHANGE_NS_DF, ADD_PNF, MODIFY_PNF, REMOVE_PNF ] description: | The type of update. It determines also which one of the following parameters is present in the operation. Possible values include: * `ADD_VNF`: Adding existing VNF instance(s) * `REMOVE_VNF`: Removing VNF instance(s) * `INSTANTIATE_VNF`: Instantiating new VNF(s) * `CHANGE_VNF_DF`: Changing VNF DF * `OPERATE_VNF`: Changing VNF state, * `MODIFY_VNF_INFORMATION`: Modifying VNF information and/or the configurable properties of VNF instance(s) * `CHANGE_EXTERNAL_VNF_CONNECTIVITY`: Changing the external connectivity of VNF instance(s) * `ADD_SAP`: Adding SAP(s) * `REMOVE_SAP`: Removing SAP(s) * `ADD_NESTED_NS`: Adding existing NS instance(s) as nested NS(s) * `REMOVE_NESTED_NS`: Removing existing nested NS instance(s) * `ASSOC_NEW_NSD_VERSION`: Associating a new NSD version to the NS instance * `MOVE_VNF`: Moving VNF instance(s) from one origin NS instance to another target NS instance * `ADD_VNFFG`: Adding VNFFG(s) * `REMOVE_VNFFG`: Removing VNFFG(s) * `UPDATE_VNFFG`: Updating VNFFG(s) * `CHANGE_NS_DF`: Changing NS DF * `ADD_PNF`: Adding PNF * `MODIFY_PNF`: Modifying PNF * `REMOVE_PNF`: Removing PNF # Specific properties are required for each updateType. Pending to be added. additionalProperties: true required: - updateType ScaleNsRequest: type: object additionalProperties: true HealNsData: type: object additionalProperties: true HealVnfData: type: object additionalProperties: true HealNsRequest: type: object properties: healNsData: description: | Provides the information needed to heal an NS. Either the parameter healNsData or the parameter healVnfData, but not both shall be provided. $ref: '#/components/schemas/HealNsData' healVnfData: description: | Provides the information needed to heal a VNF. Either the parameter healNsData or the parameter healVnfData, but not both shall be provided. type: array items: $ref: '#/components/schemas/HealVnfData' 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' 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' NsdContent: content: text/plain: schema: $ref: '#/components/schemas/NsDescriptor' 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' UploadVnfPackageFromUriRequest: content: application/json: schema: $ref: '#/components/schemas/UploadVnfPackageFromUriRequest' application/yaml: schema: $ref: '#/components/schemas/UploadVnfPackageFromUriRequest' 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' UpdateNsRequest: content: application/json: schema: $ref: '#/components/schemas/UpdateNsRequest' application/yaml: schema: $ref: '#/components/schemas/UpdateNsRequest' HealNsRequest: content: application/json: schema: $ref: '#/components/schemas/HealNsRequest' application/yaml: schema: $ref: '#/components/schemas/HealNsRequest' TerminateNsRequest: content: application/json: schema: $ref: '#/components/schemas/TerminateNsRequest' application/yaml: schema: $ref: '#/components/schemas/TerminateNsRequest' securitySchemes: bearerAuth: type: http scheme: bearer