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