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: 'NS Performance Management' description: Management operations related to Performance Mangement of NS instances - name: 'Physical Data Units (PDU)' description: Management operations of PDUs - name: 'Authentication' description: Authentication operations - name: 'Identity' description: Management operations of users, projects and roles - name: 'Infrastructure' description: Management operations of VIM, VIM accounts, WIM and SDN controllers - name: 'Repositories' description: Management operations of repositories - 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 - name: vcaStatusRefresh in: query required: false description: Set to true if vca status needs to be refreshed. schema: type: boolean 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}/heal': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type: string post: tags: - "NS instances" summary: Heal a NS instance description: | Heal a NS instance. The precondition is that the NS instance must have been created and must be in INSTANTIATED state. As a result of the success of this operation, the NFVO creates a "NS Lifecycle Operation Occurrence" resource for the request, and the NS instance state remains INSTANTIATED. operationId: healNSinstance requestBody: $ref: '#/components/requestBodies/HealNsRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NS Lifecycle Operation Occurrence" resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}" schema: type: string format: uri '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances/{nsInstanceId}/migrate': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type: string post: tags: - "NS instances" summary: Migrate VNFs in a NS instance description: | Migrate the VNFs and VDUs in 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: migrateNSinstance requestBody: $ref: '#/components/requestBodies/NSinstanceMigrateRequest' 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/{nsInstanceId}/update': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type: string post: tags: - "NS instances" summary: Update a NS instance description: | Update a NS instance. The precondition is that the NS instance must have been created and must be in INSTANTIATED state. As a result of the success of this operation, the NFVO creates a "NS Lifecycle Operation Occurrence" resource for the request, and the NS instance state remains INSTANTIATED. operationId: updateNSinstance requestBody: $ref: '#/components/requestBodies/UpdateNsRequest' responses: '202': description: Accepted headers: Location: description: | It must point to the new "NS Lifecycle Operation Occurrence" resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}" schema: type: string format: uri '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' '5XX': $ref: '#/components/responses/UnexpectedError' default: $ref: '#/components/responses/UnexpectedError' '/nslcm/v1/ns_instances/{nsInstanceId}/verticalscale': parameters: - name: nsInstanceId in: path required: true description: NS Instance ID schema: type: string post: tags: - "NS instances" summary: Vertical scale a NS instance description: Execute an verticalscale on a NS instance. The NS instance must have been created and must be in INSTANTIATED state. operationId: verticalscaleNSinstance requestBody: $ref: '#/components/requestBodies/VerticalscaleNsRequest' 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_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/ns_lcm_op_occs/{nsLcmOpOccId}/cancel': parameters: - name: nsLcmOpOccId in: path required: true description: NS LCM Operation Occurrence ID schema: type: string post: tags: - "NS instances" summary: Cancel an ongoing NS lifecycle management operation description: Cancel an ongoing NS lifecycle management operation while it is being executed or rolled back operationId: cancelNSLCMOpOcc requestBody: $ref: '#/components/requestBodies/CancelNSLCMOpOccRequest' 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' '/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' '/nslcm/v1/subscriptions': get: tags: - NS instances summary: Query information about multiple NS instance subscription description: Query information about multiple NS instance subscription operationId: getNsSubcriptions responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo' '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 subscription for the Network service description: Create a new subscription for the Network service operationId: addNsSubcriptions requestBody: $ref: '#/components/requestBodies/NslcmSubscriptionRequest' responses: '201': description: Created headers: Location: schema: type: object content: application/json: schema: $ref: '#/components/schemas/NslcmSubscriptionResponse' application/yaml: schema: $ref: '#/components/schemas/NslcmSubscriptionResponse' '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/subscriptions/{nsSubscriptionsId}': parameters: - name: nsSubscriptionsId in: path required: true description: Network Service Subscription ID schema: type: string get: tags: - NS instances summary: Read information about an individual Network Service Subscription description: Read information about an individual Network Service Subscription operationId: getNsSubcriptionId responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NslcmSubscriptionInfo' application/yaml: schema: $ref: '#/components/schemas/NslcmSubscriptionInfo' '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 Network Service Subscription description: Delete an individual Network Service Subscription operationId: deleteNsSubcriptionId 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 Instances # BEGIN Alarms '/nsfm/v1/alarms': get: tags: - "Alarms" summary: Query information about multiple alarms description: Query information about multiple alarms operationId: getAlarms responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfAlarm' application/yaml: schema: $ref: '#/components/schemas/ArrayOfAlarm' '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' '/nsfm/v1/alarms/{uuid}': parameters: - name: uuid in: path required: true description: Alarm UUID schema: type: string get: tags: - "Alarms" summary: Read an individual Alarm description: Read an individual Alarm operationId: getAlarm responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Alarm' application/yaml: schema: $ref: '#/components/schemas/Alarm' '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: - "Alarms" summary: Modify the data of an individual Alarm description: Modify the data of an individual Alarm operationId: updateAlarm requestBody: $ref: '#/components/requestBodies/AlarmInfoModifications' 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 Alarms # 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: - "NS Performance Management" 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: - "Physical Data Units (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: - "Physical Data Units (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: - "Physical Data Units (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: - "Physical Data Units (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: - "Physical Data Units (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: - "Authentication" - "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: - "Authentication" - "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: oneOf: - $ref: '#/components/schemas/TokenInfo' - $ref: '#/components/schemas/PasswordExpiryInfo' application/yaml: schema: oneOf: - $ref: '#/components/schemas/TokenInfo' - $ref: '#/components/schemas/PasswordExpiryInfo' '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: - "Authentication" - "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: - "Authentication" - "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: - "Authentication" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Identity" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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: - "Infrastructure" - "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/vca': get: tags: - "Infrastructure" - "Admin" summary: Query information about multiple VCAs description: Query information about multiple VCAs operationId: getVcas responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfVcaInfo' application/yaml: schema: $ref: '#/components/schemas/ArrayOfVcaInfo' '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: - "Infrastructure" - "Admin" summary: Create a new VCA description: Create a new VCA operationId: createVca requestBody: $ref: '#/components/requestBodies/CreateVcaRequest' 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/vca/{vcaId}': parameters: - name: vcaId in: path required: true description: VCA ID schema: type: string format: uuid get: tags: - "Infrastructure" - "Admin" summary: Query information about an individual VCA description: Query information about an individual VCA operationId: getVca responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VcaInfo' application/yaml: schema: $ref: '#/components/schemas/VcaInfo' '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: - "Infrastructure" - "Admin" summary: Modify a VCA description: Modify a VCA operationId: editVca requestBody: $ref: '#/components/requestBodies/EditVcaRequest' 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: - "Infrastructure" - "Admin" summary: Delete a VCA description: Delete a VCA operationId: deleteVca 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: - "Repositories" - "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: - "Repositories" - "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: - "Repositories" - "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: - "Repositories" - "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' NslcmSubscriptionResponse: description: NslcmSubscriptionResponse content: application/json: schema: $ref: '#/components/schemas/NslcmSubscriptionResponse' application/yaml: schema: $ref: '#/components/schemas/NslcmSubscriptionResponse' # 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 AlarmInfoModifications: description: | Alarm Information type: object properties: id: description: UUID type: string is_enable: description: To enable/disable the alarm. type: string threshold: description: Threshold value of the Alarm 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: &additionalparamsforvnf type: array items: type: object properties: member-vnf-index: type: string additionalParams: type: object additionalProperties: true k8s-namespace: type: string description: | use this namespace for all the KDU deployed in this VNF (if any). By default it is used the id of the project 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 k8s-namespace: type: string description: use this namespace for this KDU kdu_model: type: string additionalParams: type: object additionalProperties: true required: - kdu_name minProperties: 2 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 placement-engine: type: string description: | To compute automatically the target VIM for each VNF based on constrains, e.g. latency. Currently only 'PLA' is supported placement-constraints: type: object additionalProperties: true k8s-namespace: type: string timeout_ns_deploy: type: integer 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 network-type: type: string sdn-ports: description: | connect additional ports to the created underlay SDN connectivity. Normally for external connectivy. type: array items: type: object properties: switch_id: type: string switch_port: type: string mac_address: type: string format: mac_address vlan: type: integer additionalProperties: true required: - switch_id - switch_port minItems: 1 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 timeout_ns_scale: description: timeout for the scale operation type: integer scaleVnfData: type: object properties: scaleVnfType: type: string enum: - SCALE_IN - SCALE_OUT scaleByStepData: type: object properties: scaling-group-descriptor: type: string scaling-policy: type: string member-vnf-index: type: string required: - scaling-group-descriptor - member-vnf-index additionalProperties: false required: - scaleVnfType - scaleByStepData additionalProperties: false required: - scaleType - scaleVnfData additionalProperties: false HealNsRequest: description: > This type represents request parameters for the "Heal NS" operation. This operation supports the healing of an NS instance by healing one or more of the VNF that are part of this NS. type: object properties: timeout_ns_heal: description: timeout for the heal operation in seconds type: integer healVnfData: description: > List of VNF to be healed, together with the information needed to heal each. type: array items: $ref: "#/components/schemas/HealVnfData" required: - healVnfData HealVnfData: description: > This type represents the information to heal a VNF that is part of an NS. type: object required: - vnfInstanceId properties: vnfInstanceId: description: > Identifies the VNF instance, part of the NS, requiring a healing action. type: string format: uuid cause: description: > Indicates the reason why a healing procedure is required. type: string additionalParams: description: > Additional parameters passed by the NFVO as input to the healing process, specific to the VNF being healed. type: object properties: run-day1: description: > Flag to indicate whether or not to run day1 primitives for the VNF (default: false). type: boolean default: false vdu: description: > List of VDU to be healed, together with the information needed to heal each. type: array items: $ref: "#/components/schemas/HealVduData" HealVduData: description: > This type represents the information to heal a VDU that is part of a VNF. type: object required: - vdu-id properties: vdu-id: description: > Identifies the VDU id, part of the VNF, requiring a healing action. type: string format: uuid count-index: description: > Indicates the VDU number when the VDU is part of a scale-group. type: integer minimum: 0 run-day1: description: > Flag to indicate whether or not to run day1 primitives for the VDU (default: false). type: boolean default: false NSinstanceMigrateRequest: description: > This type represents request parameters for the "Migrate" operation. This operation supports the migration of an NS instance by migrating one or more of the VDUs that are part of this NS. type: object properties: vnfInstanceId: type: string migrateToHost: type: string vdu: type: object properties: vduId: type: string vduCountIndex: type: integer required: - vduId required: - vnfInstanceId additionalProperties: false TerminateNsRequest: type: object properties: timeout_ns_terminate: description: timeout for terminate operation type: integer autoremove: description: remove network service if termination end without error type: boolean skip_terminate_primitives: description: Do not execute network service termination primitives type: boolean additionalProperties: false ArrayOfNsInstance: type: array items: $ref: '#/components/schemas/NsInstance' NSinstanceActionRequest: type: object properties: primitive: type: string description: | name of the primitive in the 'config-descriptor'. If the target is a kdu it can be also 'status', 'rollback' or 'upgrade' primitive_params: description: parameters of this primitive $ref: '#/components/schemas/KeyValuePairs' member_vnf_index: type: string description: provide if the target action is for a vnf, vdu or kdu vdu_id: type: string description: provide if the target action is for a vdu kdu_name: type: string description: provide if the target action is for a kdu vdu_count_index: type: integer timeout_ns_action: description: timeout for the day 1/2 operation type: integer required: - primitive - primitive_params additionalProperties: false UpdateNsRequest: description: > This type represents request parameters for the "Update NS" operation. This operation supports the update of an NS instance by updating one or more of the VNFs that are part of this NS. type: object properties: updateType: type: string enum: - CHANGE_VNFPKG - REMOVE_VNF - MODIFY_VNF_INFORMATION - OPERATE_VNF changeVnfPackageData: type: object properties: vnfInstanceId: type: string vnfdId: type: string required: - vnfInstanceId - vnfdId removeVnfInstanceId: type: string modifyVnfInfoData: type: object properties: vnfInstanceId: type: string vnfdId: type: string required: - vnfInstanceId - vnfdId operateVnfData: type: object properties: vnfInstanceId: type: string changeStateTo: type: string additionalParam: type: object properties: run-day1: type: boolean vdu_id: type: string count-index: type: number required: - vdu_id - count-index required: - vnfInstanceId - changeStateTo additionalProperties: false required: - updateType additionalProperties: false VerticalscaleNsRequest: description: > This type represents request parameters for the "Vertical Scale NS" operation. This operation supports the vertical scale of an NS instance by verticalscaling one or more of the VNFs that are part of this NS. type: object properties: verticalScale: type: string changeVnfFlavorData: type: object properties: vnfInstanceId: type: string format: uuid additionalParams: type: object properties: vduid: type: string format: uuid vduCountIndex: type: integer virtualMemory: type: integer sizeOfStorage: type: integer numVirtualCpu: type: integer required: - vnfInstanceId - additionalParams additionalProperties: false required: - verticalScale 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' Alarm: description: | Alarm Information type: object properties: _id: description: Identifier of the Alarm. type: string format: uuid id: description: Identifier of the Alarm. type: string format: uuid metric: description: Alarm metric. type: string threshold: description: Threshold value of the Alarm. type: number format: float operation: description: Operation to be applied. type: string action: description: Action to be taken. type: string status: description: Current status of the alarm. type: string required: - _id - id - metric - threshold - operation ArrayOfAlarm: type: array items: $ref: '#/components/schemas/Alarm' # 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: *additionalparamsforvnf 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 admin_show: 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 user_show: type: boolean last_login: type: number format: float login_count: type: number 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 PasswordExpiryInfo: type: object properties: id: type: string message: type: string user_id: type: string format: uuid 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 old_password: type: string system_admin_id: type: string format: uuid unlock: type: boolean renew: type: boolean 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 slice_templates: type: integer minimum: 0 nullable: false pduds: type: integer minimum: 0 nullable: false ns_instances: type: integer minimum: 0 nullable: false slice_instances: type: integer minimum: 0 nullable: false vim_accounts: type: integer minimum: 0 nullable: false wim_accounts: type: integer minimum: 0 nullable: false sdn_controllers: type: integer minimum: 0 nullable: false k8sclusters: type: integer minimum: 0 nullable: false vca: type: integer minimum: 0 nullable: false k8srepos: type: integer minimum: 0 nullable: false osmrepos: 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 slice_templates: type: integer minimum: 0 nullable: true pduds: type: integer minimum: 0 nullable: true ns_instances: type: integer minimum: 0 nullable: true slice_instances: type: integer minimum: 0 nullable: true vim_accounts: type: integer minimum: 0 nullable: true wim_accounts: type: integer minimum: 0 nullable: true sdn_controllers: type: integer minimum: 0 nullable: true k8sclusters: type: integer minimum: 0 nullable: true vca: type: integer minimum: 0 nullable: true k8srepos: type: integer minimum: 0 nullable: true osmrepos: 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 vca: type: string format: uuid config: type: object additionalProperties: true resources: type: object 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 vca: type: string format: uuid config: type: object additionalProperties: true prometheus-config: type: object additionalProperties: true resources: type: object 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 vca: type: string format: uuid prometheus-config: type: object additionalProperties: true 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: false K8sClusterDeploymentMethods: type: object properties: juju-bundle: type: boolean helm-chart-v3: type: boolean additionalProperties: false minProperties: 3 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' deployment_methods: $ref: '#/components/schemas/K8sClusterDeploymentMethods' 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 VcaInfo: 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 endpoints: type: string user: type: string secret: type: string cacert: type: string lxd-cloud: type: string lxd-credentials: type: string k8s-cloud: type: string k8s-credentials: type: string model-config: type: object additionalProperties: true ArrayOfVcaInfo: type: array items: $ref: '#/components/schemas/VcaInfo' CreateVcaRequest: type: object properties: schema_version: type: string format: X.Y[.Z] schema_type: type: string name: type: string description: type: string endpoints: type: string user: type: string secret: type: string cacert: type: string lxd-cloud: type: string lxd-credentials: type: string k8s-cloud: type: string k8s-credentials: type: string model-config: type: object additionalProperties: true required: - name - endpoints - user - secret - cacert - lxd-cloud - lxd-credentials - k8s-cloud - k8s-credentials additionalProperties: false EditVcaRequest: type: object properties: name: type: string description: type: string endpoints: type: string user: type: string secret: type: string cacert: type: string lxd-cloud: type: string lxd-credentials: type: string k8s-cloud: type: string k8s-credentials: type: string model-config: type: object additionalProperties: true 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 username: type: string description: repository username password: type: string description: repository password ca-file: type: string description: verify certificates of HTTPS-enabled servers using this CA bundle cert-file: type: string description: identify HTTPS client using this SSL certificate file skip-tls-verify: type: boolean description: skip tls certificate checks for the repository key-file: type: string description: identify HTTPS client using this SSL key file oci: type: boolean default: false description: > Flag to indicate whether or not it is an OCI-enabled repo (default: false) required: - name - type - url additionalProperties: false 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 NslcmSubscriptionResponse: type: object properties: id: type: string format: uuid filter: type: object CallbackUri: type: string format: uri _links: type: object NslcmSubscriptionInfo: type: object properties: _id: type: string format: uuid _admin: type: object schema_version: type: string format: 'X.Y[.Z]' CallbackUri: type: string format: uri filter: type: object authentication: $ref: '#/components/schemas/Authenticationschema' ArrayOfNslcmSubscriptionInfo: type: array items: $ref: '#/components/schemas/NslcmSubscriptionInfo' NsInstanceSubscriptionFilter: description: | used to identify the network service type: object oneOf: - $ref: '#/components/schemas/nsdIds' - $ref: '#/components/schemas/vnfdIds' - $ref: '#/components/schemas/pnfdIds' - $ref: '#/components/schemas/nsInstanceIds' - $ref: '#/components/schemas/nsInstanceNames' nsdIds: type: array items: type: string vnfdIds: type: array items: type: string pnfdIds: type: array items: type: string nsInstanceIds: type: array items: type: string nsInstanceNames: type: array items: type: string Nslcmsubschema: type: object properties: nsInstanceSubscriptionFilter: $ref: '#/components/schemas/NsInstanceSubscriptionFilter' notificationTypes: description: | If NsLcmOperationOccurrenceNotification is selected then at least operationTypes or states is required. If NsLcmOperationOccurrenceNotification is selected then at least nsComponentTypes, lcmOpName and lcmOpOccStatus is required type: array items: type: string enum: - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsLcmOperationOccurrenceNotification - NsChangeNotification operationTypes: type: array items: type: string enum: - INSTANTIATE - SCALE - TERMINATE - UPDATE - HEAL operationStates: type: array items: type: string enum: - PROCESSING - COMPLETED - PARTIALLY_COMPLETED - FAILED - FAILED_TEMP - ROLLING_BACK - ROLLED_BACK nsComponentTypes: type: array items: type: string enum: - VNF - NS - PNF lcmOpNameImpactingNsComponent: type: array items: type: string enum: - VNF_INSTANTIATE - VNF_SCALE - VNF_SCALE_TO_LEVEL - VNF_CHANGE_FLAVOUR - VNF_TERMINATE - VNF_HEAL - VNF_OPERATE - VNF_CHANGE_EXT_CONN - VNF_MODIFY_INFO - NS_INSTANTIATE - NS_SCALE - NS_UPDATE - NS_TERMINATE - NS_HEAL lcmOpOccStatusImpactingNsComponent: type: array items: type: string enum: - START - COMPLETED - PARTIALLY_COMPLETED - FAILED - ROLLED_BACK Authenticationschema: type: object properties: authType: type: string enum: - basic paramsBasic: type: object properties: userName: type: string password: type: string NslcmSubscriptionRequest: type: object properties: filter: $ref: '#/components/schemas/Nslcmsubschema' CallbackUri: type: string format: uri authentication: $ref: '#/components/schemas/Authenticationschema' required: - CallbackUri CancelNSLCMOpOccRequest: type: object properties: cancelMode: type: string enum: - GRACEFUL - FORCEFUL # 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' AlarmInfoModifications: content: application/json: schema: $ref: '#/components/schemas/AlarmInfoModifications' application/yaml: schema: $ref: '#/components/schemas/AlarmInfoModifications' 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' HealNsRequest: content: application/json: schema: $ref: '#/components/schemas/HealNsRequest' application/yaml: schema: $ref: '#/components/schemas/HealNsRequest' NSinstanceMigrateRequest: content: application/json: schema: $ref: '#/components/schemas/NSinstanceMigrateRequest' application/yaml: schema: $ref: '#/components/schemas/NSinstanceMigrateRequest' 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' UpdateNsRequest: content: application/json: schema: $ref: '#/components/schemas/UpdateNsRequest' application/yaml: schema: $ref: '#/components/schemas/UpdateNsRequest' VerticalscaleNsRequest: content: application/json: schema: $ref: '#/components/schemas/VerticalscaleNsRequest' application/yaml: schema: $ref: '#/components/schemas/VerticalscaleNsRequest' # 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' CreateVcaRequest: content: application/json: schema: $ref: '#/components/schemas/CreateVcaRequest' application/yaml: schema: $ref: '#/components/schemas/CreateVcaRequest' EditVcaRequest: content: application/json: schema: $ref: '#/components/schemas/EditVcaRequest' application/yaml: schema: $ref: '#/components/schemas/EditVcaRequest' CreateK8sRepoRequest: content: application/json: schema: $ref: '#/components/schemas/CreateK8sRepoRequest' application/yaml: schema: $ref: '#/components/schemas/CreateK8sRepoRequest' NslcmSubscriptionRequest: content: application/json: schema: $ref: '#/components/schemas/NslcmSubscriptionRequest' application/yaml: schema: $ref: '#/components/schemas/NslcmSubscriptionRequest' CancelNSLCMOpOccRequest: content: application/json: schema: $ref: '#/components/schemas/CancelNSLCMOpOccRequest' application/yaml: schema: $ref: '#/components/schemas/CancelNSLCMOpOccRequest' # END REQUEST BODIES securitySchemes: bearerAuth: type: http scheme: bearer