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/InstantiateNsRequest' 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/InstantiateNsRequest' 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/InstantiateNsiRequest' 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/InstantiateNsiRequest' 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/{nsId}': parameters: - name: pmJobId in: path required: true description: NS PM Job ID schema: type: string - name: nsId in: path required: true description: NS ID schema: type: string get: tags: - "NSPM" summary: Query information about an individual NS PM Job Report description: Query information about an individual NS PM Job Report operationId: getNsPmJobReport responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NsPmJobReportInfo' application/yaml: schema: $ref: '#/components/schemas/NsPmJobReportInfo' '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 NSPM # BEGIN PDU '/pdu/v1/pdu_descriptors': get: tags: - "PDU" summary: Query information about multiple PDU Descriptors description: Query information about multiple PDU Descriptors operationId: getPDUs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfPduInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfPduInfo' '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: - "PDU" summary: Create a new PDU description: Create a new PDU Descriptor operationId: createPDU requestBody: $ref: '#/components/requestBodies/CreatePduRequest' responses: '200': description: OK 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' '/pdu/v1/pdu_descriptors/{pduDescriptorId}': parameters: - name: pduDescriptorId in: path required: true description: PDU Descriptor ID schema: type: string get: tags: - "PDU" summary: Query information about an individual PDU Descriptor description: Query information about an individual PDU Descriptor operationId: getPDU responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PduInfo' application/yaml: schema: $ref: '#/components/schemas/PduInfo' '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: - "PDU" summary: Modify an individual PDU Descriptor description: Modify an individual PDU Descriptor operationId: editPDU requestBody: $ref: '#/components/requestBodies/EditPduRequest' 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: - "PDU" summary: Delete an individual PDU Descriptor description: Delete an individual PDU Descriptor operationId: deletePDU 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 PDU # BEGIN Admin '/admin/v1/tokens': get: tags: - "Admin" summary: Query information about multiple Tokens description: Query information about multiple Tokens operationId: getTokens responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfTokenInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfTokenInfo' '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: - "Admin" summary: Request a new Token description: Request a new Token operationId: createToken requestBody: $ref: '#/components/requestBodies/CreateTokenRequest' responses: '200': description: OK headers: Location: schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/TokenInfo' application/yaml: schema: $ref: '#/components/schemas/TokenInfo' '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: - "Admin" summary: Delete the Token indicated in the Authorization Header description: Delete the Token indicated in the Authorization Header operationId: deleteAuthToken responses: '200': description: OK content: application/json: schema: type: string application/yaml: schema: type: string '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' '/admin/v1/tokens/{tokenId}': parameters: - name: tokenId in: path required: true description: Token ID schema: type: string get: tags: - "Admin" summary: Query information about an individual Token description: Query information about an individual Token operationId: getToken responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TokenInfo' application/yaml: schema: $ref: '#/components/schemas/TokenInfo' '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: - "Admin" summary: Delete the Token indicated as parameter description: Delete the Token indicated as parameter operationId: deleteToken responses: '200': description: OK content: application/json: schema: type: string application/yaml: schema: type: string '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' '/admin/v1/users': get: tags: - "Admin" summary: Query information about multiple Users description: Query information about multiple Users operationId: getUsers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfUserInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfUserInfo' '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: - "Admin" summary: Create a new User description: Create a new User operationId: createUser requestBody: $ref: '#/components/requestBodies/CreateUserRequest' 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' '/admin/v1/users/{userId}': parameters: - name: userId in: path required: true description: User ID/Name schema: type: string get: tags: - "Admin" summary: Query information about an individual User description: Query information about an individual User operationId: getUser responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserInfo' application/yaml: schema: $ref: '#/components/schemas/UserInfo' '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: - "Admin" summary: Modify a User description: Modify a User operationId: editUser requestBody: $ref: '#/components/requestBodies/EditUserRequest' 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: - "Admin" summary: Delete a User description: Delete a User operationId: deleteUser 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' '/admin/v1/projects': get: tags: - "Admin" summary: Query information about multiple Projects description: Query information about multiple Projects operationId: getProjects responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfProjectInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfProjectInfo' '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: - "Admin" summary: Create a new Project description: Create a new Project operationId: createProject requestBody: $ref: '#/components/requestBodies/CreateProjectRequest' 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' '/admin/v1/projects/{projectId}': parameters: - name: projectId in: path required: true description: Project ID/Name schema: type: string get: tags: - "Admin" summary: Query information about an individual Project description: Query information about an individual Project operationId: getProject responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProjectInfo' application/yaml: schema: $ref: '#/components/schemas/ProjectInfo' '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: - "Admin" summary: Modify a Project description: Modify a Project operationId: editProject requestBody: $ref: '#/components/requestBodies/EditProjectRequest' 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: - "Admin" summary: Delete a Project description: Delete a Project operationId: deleteProject 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' '/admin/v1/roles': get: tags: - "Admin" summary: Query information about multiple Roles description: Query information about multiple Roles operationId: getRoles responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfRoleInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfRoleInfo' '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: - "Admin" summary: Create a new Role description: Create a new Role operationId: createRole requestBody: $ref: '#/components/requestBodies/CreateRoleRequest' 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' '/admin/v1/roles/{roleId}': parameters: - name: roleId in: path required: true description: Role ID/Name schema: type: string get: tags: - "Admin" summary: Query information about an individual Role description: Query information about an individual Role operationId: getRole responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RoleInfo' application/yaml: schema: $ref: '#/components/schemas/RoleInfo' '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: - "Admin" summary: Modify a Role description: Modify a Role operationId: editRole requestBody: $ref: '#/components/requestBodies/EditRoleRequest' 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: - "Admin" summary: Delete a Role description: Delete a Role operationId: deleteRole 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' '/admin/v1/vims': get: tags: - "Admin" summary: Query information about multiple VIMs description: Query information about multiple VIMs operationId: getVIMs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfVimInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfVimInfo' '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: - "Admin" summary: Create a new VIM description: Create a new VIM operationId: createVIM requestBody: $ref: '#/components/requestBodies/CreateVimRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' application/yaml: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' '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' '/admin/v1/vims/{vimId}': parameters: - name: vimId in: path required: true description: VIM ID schema: type: string format: uuid get: tags: - "Admin" summary: Query information about an individual VIM description: Query information about an individual VIM operationId: getVIM responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VimInfo' application/yaml: schema: $ref: '#/components/schemas/VimInfo' '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: - "Admin" summary: Modify a VIM description: Modify a VIM operationId: editVIM requestBody: $ref: '#/components/requestBodies/EditVimRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/OpId' application/yaml: schema: $ref: '#/components/schemas/OpId' '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: - "Admin" summary: Delete a VIM description: Delete a VIM operationId: deleteVIM responses: '202': description: Accepted '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' '/admin/v1/vim_accounts': get: tags: - "Admin" summary: Query information about multiple VIM Accounts description: Query information about multiple VIM Accounts operationId: getVimAccounts responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfVimInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfVimInfo' '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: - "Admin" summary: Create a new VIM Account description: Create a new VIM Account operationId: createVimAccount requestBody: $ref: '#/components/requestBodies/CreateVimRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' application/yaml: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' '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' '/admin/v1/vim_accounts/{vimAccountId}': parameters: - name: vimAccountId in: path required: true description: VIM Account ID schema: type: string format: uuid get: tags: - "Admin" summary: Query information about an individual VIM Account description: Query information about an individual VIM Account operationId: getVimAccount responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VimInfo' application/yaml: schema: $ref: '#/components/schemas/VimInfo' '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: - "Admin" summary: Modify a VIM Account description: Modify a VIM Account operationId: editVimAccount requestBody: $ref: '#/components/requestBodies/EditVimRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/OpId' application/yaml: schema: $ref: '#/components/schemas/OpId' '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: - "Admin" summary: Delete a VIM Account description: Delete a VIM Account operationId: deleteVimAccount responses: '202': description: Accepted '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' '/admin/v1/wim_accounts': get: tags: - "Admin" summary: Query information about multiple WIM Accounts description: Query information about multiple WIM Accounts operationId: getWimAccounts responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfWimInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfWimInfo' '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: - "Admin" summary: Create a new WIM Account description: Create a new WIM Account operationId: createWimAccount requestBody: $ref: '#/components/requestBodies/CreateWimRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' application/yaml: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' '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' '/admin/v1/wim_accounts/{wimAccountId}': parameters: - name: wimAccountId in: path required: true description: WIM Account ID schema: type: string format: uuid get: tags: - "Admin" summary: Query information about an individual WIM Account description: Query information about an individual WIM Account operationId: getWimAccount responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WimInfo' application/yaml: schema: $ref: '#/components/schemas/WimInfo' '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: - "Admin" summary: Modify a WIM Account description: Modify a WIM Account operationId: editWimAccount requestBody: $ref: '#/components/requestBodies/EditWimRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/OpId' application/yaml: schema: $ref: '#/components/schemas/OpId' '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: - "Admin" summary: Delete a WIM Account description: Delete a WIM Account operationId: deleteWimAccount responses: '202': description: Accepted '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' '/admin/v1/sdns': get: tags: - "Admin" summary: Query information about multiple SDNs description: Query information about multiple SDNs operationId: getSDNs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfSdnInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfSdnInfo' '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: - "Admin" summary: Create a new SDN description: Create a new SDN operationId: createSDN requestBody: $ref: '#/components/requestBodies/CreateSdnRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' application/yaml: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' '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' '/admin/v1/sdns/{sdnId}': parameters: - name: sdnId in: path required: true description: SDN ID schema: type: string format: uuid get: tags: - "Admin" summary: Query information about an individual SDN description: Query information about an individual SDN operationId: getSDN responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SdnInfo' application/yaml: schema: $ref: '#/components/schemas/SdnInfo' '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: - "Admin" summary: Modify a SDN description: Modify a SDN operationId: editSDN requestBody: $ref: '#/components/requestBodies/EditSdnRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/OpId' application/yaml: schema: $ref: '#/components/schemas/OpId' '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: - "Admin" summary: Delete a SDN description: Delete a SDN operationId: deleteSDN responses: '202': description: Accepted '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' '/admin/v1/k8sclusters': get: tags: - "Admin" summary: Query information about multiple K8s Clusters description: Query information about multiple K8s Clusters operationId: getK8sClusters responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfK8sClusterInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfK8sClusterInfo' '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: - "Admin" summary: Create a new K8s Cluster description: Create a new K8s Cluster operationId: createK8sCluster requestBody: $ref: '#/components/requestBodies/CreateK8sClusterRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' application/yaml: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' '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' '/admin/v1/k8sclusters/{k8sClusterId}': parameters: - name: k8sClusterId in: path required: true description: K8s Cluster ID schema: type: string format: uuid get: tags: - "Admin" summary: Query information about an individual K8s Cluster description: Query information about an individual K8s Cluster operationId: getK8sCluster responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/K8sClusterInfo' application/yaml: schema: $ref: '#/components/schemas/K8sClusterInfo' '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: - "Admin" summary: Modify a K8s Cluster description: Modify a K8s Cluster operationId: editK8sCluster requestBody: $ref: '#/components/requestBodies/EditK8sClusterRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/OpId' application/yaml: schema: $ref: '#/components/schemas/OpId' '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: - "Admin" summary: Delete a K8s Cluster description: Delete a K8s Cluster operationId: deleteK8sCluster responses: '202': description: Accepted '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' '/admin/v1/k8srepos': get: tags: - "Admin" summary: Query information about multiple K8s Repos description: Query information about multiple K8s Repos operationId: getK8sRepos responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfK8sRepoInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfK8sRepoInfo' '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: - "Admin" summary: Create a new K8s Repo description: Create a new K8s Repo operationId: createK8sRepo requestBody: $ref: '#/components/requestBodies/CreateK8sRepoRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' application/yaml: schema: $ref: '#/components/schemas/ObjectId_plus_OpId' '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' '/admin/v1/k8srepos/{k8sRepoId}': parameters: - name: k8sRepoId in: path required: true description: K8s Repo ID schema: type: string format: uuid get: tags: - "Admin" summary: Query information about an individual K8s Repo description: Query information about an individual K8s Repo operationId: getK8sRepo responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/K8sRepoInfo' application/yaml: schema: $ref: '#/components/schemas/K8sRepoInfo' '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: - "Admin" summary: Delete a K8s Repo description: Delete a K8s Repo operationId: deleteK8sRepo responses: '202': description: Accepted '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 Admin externalDocs: description: Find out more about OSM url: 'https://osm.etsi.org/docs/user-guide/' 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: # Substituted by InstantiateNsRequest 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 lcmOperationType: type: string nsInstanceId: type: string format: uuid netsliceInstanceId: type: string format: uuid nsDescription: type: string nullable: true wimAccountId: oneOf: - type: string - type: boolean nullable: true additionalParamsForNs: type: object additionalProperties: true additionalParamsForVnf: type: array items: type: object properties: member-vnf-index: type: string additionalParams: type: object additionalProperties: true additionalParamsForVdu: type: array items: type: object properties: vdu_id: type: string additionalParams: type: object additionalProperties: true required: - vdu_id - additionalParams additionalProperties: false additionalParamsForKdu: type: array items: type: object properties: kdu_name: type: string additionalParams: type: object additionalProperties: true required: - kdu_name - additionalParams additionalProperties: false required: - member-vnf-index minProperties: 2 additionalProperties: false ssh_keys: type: array items: type: string nsr_id: type: string format: uuid vduImage: type: string vnf: type: array items: type: object properties: member-vnf-index: type: string vimAccountId: type: string format: uuid vdu: type: array items: type: object properties: id: type: string volume: type: array items: type: object properties: name: type: string vim-volume-id: type: string required: - name - vim-volume-id additionalProperties: false minItems: 1 interface: type: array items: type: object properties: name: type: string ip-address: type: string format: ipv4 mac-address: type: string format: mac_address floating-ip-required: type: boolean required: - name additionalProperties: false minItems: 1 required: - id additionalProperties: false minItems: 1 internal-vld: type: array items: type: object properties: name: type: string vim-network-name: type: string vim-network-id: type: string ip-profile: type: object properties: ip-version: type: string enum: - ipv4 - ipv6 subnet-address: type: string format: ip_prefix nullable: true gateway-address: type: string format: ipv4 nullable: true dns-server: type: array items: type: object properties: address: type: string format: ipv4 required: - address additionalProperties: false minItems: 1 nullable: true dhcp-params: type: object properties: enabled: type: boolean count: type: integer minimum: 1 start-address: type: string format: ipv4 additionalProperties: false nullable: true additionalProperties: false provider-network: type: object properties: physical-network: type: string segmentation-id: type: string additionalProperties: false internal-connection-point: type: array items: type: object properties: id-ref: type: string ip-address: type: string format: ipv4 required: - id-ref minProperties: 2 additionalProperties: False minItems: 1 required: - name minProperties: 2 additionalProperties: false minItems: 1 required: - member-vnf-index minProperties: 2 additionalProperties: false minItems: 1 vld: type: array items: type: object properties: name: type: string vim-network-name: oneOf: - type: string - type: object vim-network-id: oneOf: - type: string - type: object ns-net: type: object additionalProperties: true wimAccountId: oneOf: - type: string - type: boolean nullable: true ip-profile: type: object additionalProperties: true provider-network: type: object properties: physical-network: type: string segmentation-id: type: string additionalProperties: false vnfd-connection-point-ref: type: array items: type: object properties: member-vnf-index-ref: type: string vnfd-connection-point-ref: type: string ip-address: type: string format: ipv4 required: - member-vnf-index-ref - vnfd-connection-point-ref minProperties: 3 additionalProperties: false minItems: 1 required: - name additionalProperties: false minItems: 1 required: - nsName - nsdId - vimAccountId additionalProperties: false 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: # Substituted by InstantiateNsRequest 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: # Substituted by InstantiateNsiRequest 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 lcmOperationType: type: string netsliceInstanceId: type: string format: uuid nsiDescription: type: string nullable: true ssh_keys: type: string nsi_id: type: string format: uuid additionalParamsForNsi: type: object additionalProperties: true netslice-subnet: type: array items: type: object properties: id: type: string nsName: type: string nsdId: type: string format: uuid vimAccountId: type: string format: uuid lcmOperationType: type: string nsInstanceId: type: string format: uuid netsliceInstanceId: type: string format: uuid nsDescription: type: string nullable: true wimAccountId: oneOf: - type: string - type: boolean nullable: true additionalParamsForNs: type: object additionalProperties: true additionalParamsForVnf: type: array items: type: object properties: member-vnf-index: type: string additionalParams: type: object additionalProperties: true additionalParamsForVdu: type: array items: type: object properties: vdu_id: type: string additionalParams: type: object additionalProperties: true required: - vdu_id - additionalParams additionalProperties: false additionalParamsForKdu: type: array items: type: object properties: kdu_name: type: string additionalParams: type: object additionalProperties: true required: - kdu_name - additionalParams additionalProperties: false required: - member-vnf-index minProperties: 2 additionalProperties: false ssh_keys: type: array items: type: string nsr_id: type: string format: uuid vduImage: type: string vnf: type: array items: type: object properties: member-vnf-index: type: string vimAccountId: type: string format: uuid vdu: type: array items: type: object properties: id: type: string volume: type: array items: type: object properties: name: type: string vim-volume-id: type: string required: - name - vim-volume-id additionalProperties: false minItems: 1 interface: type: array items: type: object properties: name: type: string ip-address: type: string format: ipv4 mac-address: type: string format: mac_address floating-ip-required: type: boolean required: - name additionalProperties: false minItems: 1 required: - id additionalProperties: false minItems: 1 internal-vld: type: array items: type: object properties: name: type: string vim-network-name: type: string vim-network-id: type: string ip-profile: type: object properties: ip-version: type: string enum: - ipv4 - ipv6 subnet-address: type: string format: ip_prefix nullable: true gateway-address: type: string format: ipv4 nullable: true dns-server: type: array items: type: object properties: address: type: string format: ipv4 required: - address additionalProperties: false minItems: 1 nullable: true dhcp-params: type: object properties: enabled: type: boolean count: type: integer minimum: 1 start-address: type: string format: ipv4 additionalProperties: false nullable: true additionalProperties: false provider-network: type: object properties: physical-network: type: string segmentation-id: type: string additionalProperties: false internal-connection-point: type: array items: type: object properties: id-ref: type: string ip-address: type: string format: ipv4 required: - id-ref minProperties: 2 additionalProperties: False minItems: 1 required: - name minProperties: 2 additionalProperties: false minItems: 1 required: - member-vnf-index minProperties: 2 additionalProperties: false minItems: 1 vld: type: array items: type: object properties: name: type: string vim-network-name: oneOf: - type: string - type: object vim-network-id: oneOf: - type: string - type: object ns-net: type: object additionalProperties: true wimAccountId: oneOf: - type: string - type: boolean nullable: true ip-profile: type: object additionalProperties: true provider-network: type: object properties: physical-network: type: string segmentation-id: type: string additionalProperties: false vnfd-connection-point-ref: type: array items: type: object properties: member-vnf-index-ref: type: string vnfd-connection-point-ref: type: string ip-address: type: string format: ipv4 required: - member-vnf-index-ref - vnfd-connection-point-ref minProperties: 3 additionalProperties: false minItems: 1 required: - name additionalProperties: false minItems: 1 additionalProperties: false minItems: 1 netslice-vld: type: array items: type: object properties: name: type: string vim-network-name: oneOf: - type: string - type: object vim-network-id: oneOf: - type: string - type: object ip-profile: type: object additionalProperties: true required: - name additionalProperties: false minItems: 1 required: - nsiName - nstId - vimAccountId additionalProperties: false 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: # Substituted by InstantiateNsiRequest 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' TokenInfo: type: object properties: _id: type: string id: type: string admin: type: boolean project_id: type: string format: uuid user_id: type: string format: uuid project_name: type: string username: type: string issued_at: type: number format: float expires: type: number format: float remote_host: type: string format: ipv4 remote_port: type: integer roles: type: array items: type: object properties: id: type: string format: uuid name: type: string ArrayOfTokenInfo: type: array items: $ref: '#/components/schemas/TokenInfo' CreateTokenRequest: type: object properties: username: type: string password: type: string project_id: type: string required: - username - password UserInfo: type: object properties: _id: type: string format: uuid username: type: string password: type: string project_role_mappings: type: array items: type: object properties: project: type: string format: uuid role: type: string format: uuid project_name: type: string role_name: type: string projects: type: array items: type: string ArrayOfUserInfo: type: array items: $ref: '#/components/schemas/UserInfo' ProjectRoleMappings: type: array items: type: object properties: project: type: string role: type: string required: - project - role additionalProperties: false ProjectRoleMappingsOpt: type: array items: type: object properties: project: type: string role: type: string required: - project additionalProperties: false CreateUserRequest: type: object properties: username: type: string password: type: string projects: type: array items: type: string project_role_mappings: $ref: '#/components/schemas/ProjectRoleMappings' required: - username - password additionalProperties: false ShortNameList: type: array items: type: string ArrayEditionSchema: type: object additionalProperties: true minProperties: 1 description: | Array edition keys must start with '$' and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description EditUserRequest: type: object properties: username: type: string password: type: string projects: oneOf: - $ref: '#/components/schemas/ShortNameList' - $ref: '#/components/schemas/ArrayEditionSchema' project_role_mappings: $ref: '#/components/schemas/ProjectRoleMappings' add_project_role_mappings: $ref: '#/components/schemas/ProjectRoleMappings' remove_project_role_mappings: $ref: '#/components/schemas/ProjectRoleMappingsOpt' QuotasInfo: type: object properties: vnfds: type: integer minimum: 0 nullable: false nsds: type: integer minimum: 0 nullable: false nsts: type: integer minimum: 0 nullable: false pdus: type: integer minimum: 0 nullable: false nsrs: type: integer minimum: 0 nullable: false nsis: type: integer minimum: 0 nullable: false vim_accounts: type: integer minimum: 0 nullable: false wim_accounts: type: integer minimum: 0 nullable: false sdns: type: integer minimum: 0 nullable: false additionalProperties: false EditQuotasInfo: type: object properties: vnfds: type: integer minimum: 0 nullable: true nsds: type: integer minimum: 0 nullable: true nsts: type: integer minimum: 0 nullable: true pdus: type: integer minimum: 0 nullable: true nsrs: type: integer minimum: 0 nullable: true nsis: type: integer minimum: 0 nullable: true vim_accounts: type: integer minimum: 0 nullable: true wim_accounts: type: integer minimum: 0 nullable: true sdns: type: integer minimum: 0 nullable: true additionalProperties: false ProjectInfo: type: object properties: _id: type: string format: uuid name: type: string quotas: $ref: '#/components/schemas/QuotasInfo' ArrayOfProjectInfo: type: array items: $ref: '#/components/schemas/ProjectInfo' CreateProjectRequest: type: object properties: name: type: string admin: type: boolean quotas: $ref: '#/components/schemas/QuotasInfo' required: - name additionalProperties: false EditProjectRequest: type: object properties: name: type: string admin: type: boolean quotas: $ref: '#/components/schemas/EditQuotasInfo' additionalProperties: false PermissionsInfo: type: object additionalProperties: type: boolean nullable: false description: | Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]' Permission values are either true or false EditPermissionsInfo: type: object additionalProperties: type: boolean nullable: true description: | Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]' Permission values are either true, false, or null RoleInfo: type: object properties: _id: type: string format: uuid name: type: string permissions: $ref: '#/components/schemas/PermissionsInfo' ArrayOfRoleInfo: type: array items: $ref: '#/components/schemas/RoleInfo' CreateRoleRequest: type: object properties: name: type: string permissions: $ref: '#/components/schemas/PermissionsInfo' required: - name additionalProperties: false EditRoleRequest: type: object properties: name: type: string permissions: $ref: '#/components/schemas/EditPermissionsInfo' additionalProperties: false VimType: type: string enum: - openvim - openstack - vmware - opennebula - aws - azure - fos VimInfo: type: object properties: _id: type: string format: uuid schema_version: type: string format: X.Y[.Z] schema_type: type: string name: type: string description: type: string vim: type: string datacenter: type: string vim_type: $ref: '#/components/schemas/VimType' vim_url: type: string format: uri vim_tenant_name: type: string vim_user: type: string vim_password: type: string config: type: object additionalProperties: true ArrayOfVimInfo: type: array items: $ref: '#/components/schemas/VimInfo' CreateVimRequest: type: object properties: schema_version: type: string format: X.Y[.Z] schema_type: type: string name: type: string description: type: string vim: type: string datacenter: type: string vim_type: $ref: '#/components/schemas/VimType' vim_url: type: string format: uri vim_tenant_name: type: string vim_user: type: string vim_password: type: string config: type: object additionalProperties: true required: - name - vim_url - vim_type - vim_user - vim_password - vim_tenant_name additionalProperties: false EditVimRequest: type: object properties: name: type: string description: type: string vim: type: string datacenter: type: string vim_type: $ref: '#/components/schemas/VimType' vim_url: type: string format: uri vim_tenant_name: type: string vim_user: type: string vim_password: type: string config: type: object additionalProperties: true additionalProperties: false ObjectId_plus_OpId: type: object properties: id: type: string format: uuid op_id: type: string format: uuid OpId: type: object properties: op_id: type: string format: uuid WimType: type: string enum: - onos - odl - tapi - dynpac - fake WimInfo: type: object properties: _id: type: string format: uuid schema_version: type: string format: X.Y[.Z] schema_type: type: string name: type: string description: type: string wim: type: string wim_type: $ref: '#/components/schemas/WimType' wim_url: type: string format: uri user: type: string password: type: string config: type: object additionalProperties: true ArrayOfWimInfo: type: array items: $ref: '#/components/schemas/WimInfo' CreateWimRequest: type: object properties: schema_version: type: string format: X.Y[.Z] schema_type: type: string name: type: string description: type: string wim: type: string wim_type: $ref: '#/components/schemas/WimType' wim_url: type: string format: uri user: type: string password: type: string config: type: object additionalProperties: true required: - name - wim_url - wim_type additionalProperties: false EditWimRequest: type: object properties: name: type: string description: type: string wim: type: string wim_type: type: string wim_url: type: string format: uri user: type: string password: type: string config: type: object additionalProperties: true additionalProperties: false SdnBasicProperties: type: object properties: name: type: string description: type: string dpid: type: string format: mac_address ip: type: string format: ipv4 port: type: integer type: type: string enum: - floodlight - opendaylight - onos version: type: string user: type: string password: type: string SdnExtraProperties: type: object properties: _id: type: string format: uuid schema_version: type: string format: X.Y[.Z] SdnInfo: allOf: - $ref: '#/components/schemas/SdnExtraProperties' - $ref: '#/components/schemas/SdnBasicProperties' ArrayOfSdnInfo: type: array items: $ref: '#/components/schemas/SdnInfo' CreateSdnRequest: allOf: - $ref: '#/components/schemas/SdnBasicProperties' required: - name - type - ip - port - dpid additionalProperties: false EditSdnRequest: allOf: - $ref: '#/components/schemas/SdnBasicProperties' additionalProperties: false NsPmJobReportInfo: type: object properties: entries: type: array items: type: object properties: objectInstanceId: type: string format: uuid performanceMetric: type: string performanceValue: type: object properties: performanceValue: type: object properties: performanceValue: type: number vnfMemberIndex: type: string vduName: type: string timestamp: type: number PduInterfaces: type: array items: type: object properties: name: type: string mgmt: type: boolean type: type: string enum: - overlay - underlay ip-address: type: string format: ipv4 mac-address: type: string format: mac_address vim-network-name: type: string vim-network-id: type: string required: - name - mgmt - ip-address additionalProperties: false PduInfo: type: object properties: _id: type: string format: uuid name: type: string type: type: string description: type: string shared: type: boolean vims: type: array items: type: string vim_accounts: type: array items: type: string interfaces: $ref: '#/components/schemas/PduInterfaces' ArrayOfPduInfo: type: array items: $ref: '#/components/schemas/PduInfo' CreatePduRequest: type: object properties: name: type: string type: type: string description: type: string shared: type: boolean vims: type: array items: type: string vim_accounts: type: array items: type: string interfaces: $ref: '#/components/schemas/PduInterfaces' required: - name - type - interfaces additionalProperties: false EditPduRequest: type: object properties: name: type: string type: type: string description: type: string shared: type: boolean vims: type: array items: type: string vim_accounts: type: array items: type: string interfaces: $ref: '#/components/schemas/PduInterfaces' additionalProperties: false K8sClusterNetList: type: array items: type: object additionalProperties: true K8sClusterInfo: type: object properties: _id: type: string format: uuid schema_version: type: string format: X.Y[.Z] schema_type: type: string name: type: string description: type: string credentials: type: object additionalProperties: true vim_account: type: string format: uuid k8s_version: type: string nets: $ref: '#/components/schemas/K8sClusterNetList' namespace: type: string cni: type: array items: type: string ArrayOfK8sClusterInfo: type: array items: $ref: '#/components/schemas/K8sClusterInfo' CreateK8sClusterRequest: type: object properties: schema_version: type: string format: X.Y[.Z] schema_type: type: string name: type: string description: type: string credentials: type: object additionalProperties: true vim_account: type: string format: uuid k8s_version: type: string nets: $ref: '#/components/schemas/K8sClusterNetList' namespace: type: string cni: type: array items: type: string required: - name - credentials - vim_account - k8s_version - nets additionalProperties: false EditK8sClusterRequest: type: object properties: name: type: string description: type: string credentials: type: object additionalProperties: true vim_account: type: string format: uuid k8s_version: type: string nets: $ref: '#/components/schemas/K8sClusterNetList' namespace: type: string cni: type: array items: type: string additionalProperties: false K8sRepoType: type: string enum: - chart - bundle K8sRepoInfo: type: object properties: _id: type: string format: uuid name: type: string description: type: string type: $ref: '#/components/schemas/K8sRepoType' url: type: string format: uri ArrayOfK8sRepoInfo: type: array items: $ref: '#/components/schemas/K8sRepoInfo' CreateK8sRepoRequest: type: object properties: name: type: string description: type: string type: $ref: '#/components/schemas/K8sRepoType' url: type: string format: uri required: - name - type - url additionalProperties: false # 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: # Substituted by InstantiateNsRequest 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: # Substituted by InstantiateNsRequest 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: # Substituted by InstantiateNsiRequest 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: # Substituted by InstantiateNsiRequest CreateTokenRequest: content: application/json: schema: $ref: '#/components/schemas/CreateTokenRequest' application/yaml: schema: $ref: '#/components/schemas/CreateTokenRequest' CreateUserRequest: content: application/json: schema: $ref: '#/components/schemas/CreateUserRequest' application/yaml: schema: $ref: '#/components/schemas/CreateUserRequest' EditUserRequest: content: application/json: schema: $ref: '#/components/schemas/EditUserRequest' application/yaml: schema: $ref: '#/components/schemas/EditUserRequest' CreateProjectRequest: content: application/json: schema: $ref: '#/components/schemas/CreateProjectRequest' application/yaml: schema: $ref: '#/components/schemas/CreateProjectRequest' EditProjectRequest: content: application/json: schema: $ref: '#/components/schemas/EditProjectRequest' application/yaml: schema: $ref: '#/components/schemas/EditProjectRequest' CreateRoleRequest: content: application/json: schema: $ref: '#/components/schemas/CreateRoleRequest' application/yaml: schema: $ref: '#/components/schemas/CreateRoleRequest' EditRoleRequest: content: application/json: schema: $ref: '#/components/schemas/EditRoleRequest' application/yaml: schema: $ref: '#/components/schemas/EditRoleRequest' CreateVimRequest: content: application/json: schema: $ref: '#/components/schemas/CreateVimRequest' application/yaml: schema: $ref: '#/components/schemas/CreateVimRequest' EditVimRequest: content: application/json: schema: $ref: '#/components/schemas/EditVimRequest' application/yaml: schema: $ref: '#/components/schemas/EditVimRequest' CreateWimRequest: content: application/json: schema: $ref: '#/components/schemas/CreateWimRequest' application/yaml: schema: $ref: '#/components/schemas/CreateWimRequest' EditWimRequest: content: application/json: schema: $ref: '#/components/schemas/EditWimRequest' application/yaml: schema: $ref: '#/components/schemas/EditWimRequest' CreateSdnRequest: content: application/json: schema: $ref: '#/components/schemas/CreateSdnRequest' application/yaml: schema: $ref: '#/components/schemas/CreateSdnRequest' EditSdnRequest: content: application/json: schema: $ref: '#/components/schemas/EditSdnRequest' application/yaml: schema: $ref: '#/components/schemas/EditSdnRequest' CreatePduRequest: content: application/json: schema: $ref: '#/components/schemas/CreatePduRequest' application/yaml: schema: $ref: '#/components/schemas/CreatePduRequest' EditPduRequest: content: application/json: schema: $ref: '#/components/schemas/EditPduRequest' application/yaml: schema: $ref: '#/components/schemas/EditPduRequest' CreateK8sClusterRequest: content: application/json: schema: $ref: '#/components/schemas/CreateK8sClusterRequest' application/yaml: schema: $ref: '#/components/schemas/CreateK8sClusterRequest' EditK8sClusterRequest: content: application/json: schema: $ref: '#/components/schemas/EditK8sClusterRequest' application/yaml: schema: $ref: '#/components/schemas/EditK8sClusterRequest' CreateK8sRepoRequest: content: application/json: schema: $ref: '#/components/schemas/CreateK8sRepoRequest' application/yaml: schema: $ref: '#/components/schemas/CreateK8sRepoRequest' # END REQUEST BODIES securitySchemes: bearerAuth: type: http scheme: bearer