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