blob: 958b39f764cc3c8082b5dd840d0a9441bbca01a8 [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: 'NS Performance Management'
description: Management operations related to Performance Mangement of NS instances
- name: 'Physical Data Units (PDU)'
description: Management operations of PDUs
- name: 'Authentication'
description: Authentication operations
- name: 'Identity'
description: Management operations of users, projects and roles
- name: 'Infrastructure'
description: Management operations of VIM, VIM accounts, WIM and SDN controllers
- name: 'Repositories'
description: Management operations of repositories
- name: 'Admin'
description: Management operations of Administration items
security:
- bearerAuth: []
paths:
# BEGIN NS Packages
'/nsd/v1/ns_descriptors':
get:
tags:
- "NS packages"
summary: Query information about multiple NS descriptor resources
description: Query information about multiple NS descriptor resources
operationId: getNSDs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsdInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsdInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NS packages"
summary: Create a new NS descriptor resource
description: Create a new NS descriptor resource
operationId: addNSD
requestBody:
$ref: '#/components/requestBodies/CreateNsdInfoRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsd/v1/ns_descriptors/{nsdInfoId}':
parameters:
- name: nsdInfoId
in: path
required: true
description: NSD Info ID
schema:
type: string
get:
tags:
- "NS packages"
summary: Read information about an individual NS descriptor resource
description: Read information about an individual NS descriptor resource
operationId: getNSD
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsdInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NsdInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NS packages"
summary: Delete an individual NS descriptor resource
description: Delete an individual NS descriptor resource
operationId: deleteNSD
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "NS packages"
summary: Modify the data of an individual NS descriptor resource
description: Modify the data of an individual NS descriptor resource
operationId: updateNSD
requestBody:
$ref: '#/components/requestBodies/NsdInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content':
parameters:
- name: nsdInfoId
in: path
required: true
description: NSD Info ID
schema:
type: string
get:
tags:
- "NS packages"
summary: Fetch the content of a NSD
description: Fetch the content of a NSD
operationId: getNSDcontent
responses:
'200':
description: OK
content:
application/zip:
schema:
$ref: '#/components/schemas/NsPackage'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/zip:
schema:
$ref: '#/components/schemas/NsPackage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "NS packages"
summary: Upload the content of a NSD
description: Upload the content of a NSD
operationId: updateNSDcontent
requestBody:
$ref: '#/components/requestBodies/NsPackage'
responses:
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsd/v1/ns_descriptors/{nsdInfoId}/artifacts/{artifactPath}':
parameters:
- name: nsdInfoId
in: path
required: true
description: NS Package ID
schema:
type: string
- name: artifactPath
in: path
required: true
description: Artifact Path
schema:
type: string
get:
tags:
- "NS packages"
summary: Fetch individual NS package artifact
description: Fetch individual NS package artifact
operationId: getNsPkgArtifact
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: binary
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsd/v1/ns_descriptors/{nsdInfoId}/nsd':
parameters:
- name: nsdInfoId
in: path
required: true
description: NS Package ID
schema:
type: string
get:
tags:
- "NS packages"
summary: Read NSD of an on-boarded NS package
description: Read NSD of an on-boarded NS package
operationId: getNsPkgNsd
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/NsDescriptor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsd/v1/ns_descriptors_content':
post:
tags:
- "NS packages"
summary: Upload a NS package by providing the content of the NS package
description: Upload a NS package by providing the content of the NS package
operationId: uploadNsPkgsContent
requestBody:
content:
application/zip:
schema:
$ref: '#/components/schemas/NsPackage'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
get:
tags:
- "NS packages"
summary: Query information about multiple NS package resources
description: Query information about multiple NS package resources
operationId: getNsPkgsContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsdInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsdInfo'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsd/v1/ns_descriptors_content/{nsdInfoId}':
parameters:
- name: nsdInfoId
in: path
required: true
description: NS Package ID
schema:
type: string
get:
tags:
- "NS packages"
summary: Read information about an individual NS package resource
description: Read information about an individual NS package resource
operationId: getNsPkgsIdContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsdInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NsdInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "NS packages"
summary: Modify an individual NS package resource
description: Modify an individual NS package resource
operationId: updateNsPkgsIdContent
requestBody:
$ref: '#/components/requestBodies/NsdInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NS packages"
summary: Delete an individual NS package resource
description: Delete an individual NS package resource
operationId: deleteNSPkgsIdContent
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NS Packages
# BEGIN VNF Packages
'/vnfpkgm/v1/vnf_packages':
get:
tags:
- "VNF packages"
summary: Query information about multiple VNF package resources
description: Query information about multiple VNF package resources
operationId: getVnfPkgs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVnfPkgInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVnfPkgInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "VNF packages"
summary: Create a new VNF package resource
description: Create a new VNF package resource
operationId: addVnfPkg
requestBody:
$ref: '#/components/requestBodies/CreateVnfPkgInfoRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages/{vnfPkgId}':
parameters:
- name: vnfPkgId
in: path
required: true
description: VNF Package ID
schema:
type: string
get:
tags:
- "VNF packages"
summary: Read information about an individual VNF package resource
description: Read information about an individual VNF package resource
operationId: getVnfPkg
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VnfPkgInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VnfPkgInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "VNF packages"
summary: Delete an individual VNF package resource
description: Delete an individual VNF package resource
operationId: deleteVnfPkg
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "VNF packages"
summary: Modify an individual VNF package resource
description: Modify an individual VNF package resource
operationId: updateVnfPkg
requestBody:
$ref: '#/components/requestBodies/VnfPkgInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd':
parameters:
- name: vnfPkgId
in: path
required: true
description: VNF Package ID
schema:
type: string
get:
tags:
- "VNF packages"
summary: Read VNFD of an on-boarded VNF package
description: Read VNFD of an on-boarded VNF package
operationId: getVnfPkgVnfd
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/VnfDescriptor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content':
parameters:
- name: vnfPkgId
in: path
required: true
description: VNF Package ID
schema:
type: string
get:
tags:
- "VNF packages"
summary: Fetch an on-boarded VNF package
description: Fetch an on-boarded VNF package
operationId: getVnfPkgContent
responses:
'200':
description: OK
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "VNF packages"
summary: Upload a VNF package by providing the content of the VNF package
description: Upload a VNF package by providing the content of the VNF package
operationId: uploadVnfPkgContent
requestBody:
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
responses:
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
parameters:
- name: vnfPkgId
in: path
required: true
description: VNF Package ID
schema:
type: string
- name: artifactPath
in: path
required: true
description: Artifact Path
schema:
type: string
get:
tags:
- "VNF packages"
summary: Fetch individual VNF package artifact
description: Fetch individual VNF package artifact
operationId: getVnfPkgArtifact
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: binary
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages_content':
post:
tags:
- "VNF packages"
summary: Upload a VNF package by providing the content of the VNF package
description: Upload a VNF package by providing the content of the VNF package
operationId: uploadVnfPkgsContent
requestBody:
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
get:
tags:
- "VNF packages"
summary: Query information about multiple VNF package resources
description: Query information about multiple VNF package resources
operationId: getVnfPkgsContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVnfPkgInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVnfPkgInfo'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages_content/{packageContentId}':
parameters:
- name: packageContentId
in: path
required: true
description: VNF Package Content ID
schema:
type: string
get:
tags:
- "VNF packages"
summary: Read information about an individual VNF package resource
description: Read information about an individual VNF package resource
operationId: getVnfPkgsIdContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VnfPkgInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VnfPkgInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "VNF packages"
summary: Modify an individual VNF package resource
description: Modify an individual VNF package resource
operationId: updateVnfPkgsIdContent
requestBody:
$ref: '#/components/requestBodies/VnfPkgInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "VNF packages"
summary: Delete an individual VNF package resource
description: Delete an individual VNF package resource
operationId: deleteVnfPkgsIdContent
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END VNF Packages
# BEGIN NS Instances
'/nslcm/v1/ns_instances':
get:
tags:
- "NS instances"
summary: Query information about multiple NS instances
description: Query information about multiple NS isntances
operationId: getNSinstances
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsInstance'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NS instances"
summary: Create a new NS instance resource
description: Create a new NS instance resource
operationId: addNSinstance
requestBody:
$ref: '#/components/requestBodies/InstantiateNsRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
get:
tags:
- "NS instances"
summary: Read an individual NS instance resource
description: Read an individual NS instance resource
operationId: getNSinstance
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsInstance'
application/yaml:
schema:
$ref: '#/components/schemas/NsInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NS instances"
summary: Delete an individual NS instance resource
description: Delete an individual NS instance resource
operationId: deleteNSinstance
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Instantiate a NS
description: |
Instantiate a NS. The precondition is that the NS instance must have
been created and must be in NOT_INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NS Lifecycle Operation
Occurrence" resource for the request, and the NS instance state becomes
INSTANTIATED.
operationId: instantiateNSinstance
requestBody:
$ref: '#/components/requestBodies/InstantiateNsRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/scale':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Scale a NS instance
description: |
Scale a NS instance. The precondition is that the NS instance must have
been created and must be in INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NS Lifecycle Operation
Occurrence" resource for the request, and the NS instance state remains
INSTANTIATED.
operationId: scaleNSinstance
requestBody:
$ref: '#/components/requestBodies/ScaleNsRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Terminate a NS instance
description: |
Terminate a NS instance. The precondition is that the NS instance must have
been created and must be in INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NS Lifecycle Operation
Occurrence" resource for the request, and the NS instance state becomes
NOT_INSTANTIATED.
operationId: terminateNSinstance
requestBody:
# Request data is not required
$ref: '#/components/requestBodies/TerminateNsRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/action':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Execute an action on a NS instance
description: |
Execute an action on a NS instance.
The NS instance must have been created and must be in INSTANTIATED state.
operationId: actionOnNSinstance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NSinstanceActionRequest'
application/yaml:
schema:
$ref: '#/components/schemas/NSinstanceActionRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances_content':
get:
tags:
- "NS instances"
summary: Query information about multiple NS instances
description: Query information about multiple NS isntances
operationId: getNSinstancesContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsInstance'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NS instances"
summary: Create a new NS instance
description: Create a new NS instance
operationId: createNSinstanceContent
requestBody:
$ref: '#/components/requestBodies/InstantiateNsRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNSinstanceContentResponse'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNSinstanceContentResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances_content/{nsInstanceContentId}':
parameters:
- name: nsInstanceContentId
in: path
required: true
description: NS Instance Content ID
schema:
type: string
get:
tags:
- "NS instances"
summary: Read an individual NS instance resource
description: Read an individual NS instance resource
operationId: getNSinstanceContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsInstance'
application/yaml:
schema:
$ref: '#/components/schemas/NsInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NS instances"
summary: Delete an individual NS instance resource
description: Delete an individual NS instance resource
operationId: deleteNSinstanceContent
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_lcm_op_occs':
get:
tags:
- "NS instances"
summary: Query information about multiple NS LCM Operation Occurrences
description: Query information about multiple NS LCM Operation Occurrences
operationId: getNSLCMOpOccs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}':
parameters:
- name: nsLcmOpOccId
in: path
required: true
description: NS LCM Operation Occurrence ID
schema:
type: string
get:
tags:
- "NS instances"
summary: Query information about an individual NS LCM Operation Occurrence
description: Query information about an individual NS LCM Operation Occurrence
operationId: getNSLCMOpOcc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsLcmOpOcc'
application/yaml:
schema:
$ref: '#/components/schemas/NsLcmOpOcc'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/vnf_instances':
get:
tags:
- "NS instances"
summary: Query information about multiple VNF Instances
description: Query information about multiple VNF Instances
operationId: getVnfInstances
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/vnf_instances/{vnfInstanceId}':
parameters:
- name: vnfInstanceId
in: path
required: true
description: VNF Instance ID
schema:
type: string
get:
tags:
- "NS instances"
summary: Query information about an individual VNF Instance
description: Query information about an individual VNF Instance
operationId: getVnfInstance
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VnfInstanceInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VnfInstanceInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NS Instances
# BEGIN NetSlice Templates
'/nst/v1/netslice_templates':
get:
tags:
- "NetSlice templates"
summary: Query information about multiple NetSlice template resources
description: Query information about multiple NetSlice template resources
operationId: getNSTs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNstInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNstInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NetSlice templates"
summary: Create a new NetSlice template resource
description: Create a new NetSlice template resource
operationId: addNST
requestBody:
$ref: '#/components/requestBodies/CreateNstInfoRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates/{netsliceTemplateId}':
parameters:
- name: netsliceTemplateId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Read information about an individual NetSlice template resource
description: Read information about an individual NetSlice template resource
operationId: getNST
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NstInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NstInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NetSlice templates"
summary: Delete an individual NetSlice template resource
description: Delete an individual NetSlice template resource
operationId: deleteNST
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates/{netsliceTemplateId}/artifacts/{artifactPath}':
parameters:
- name: netsliceTemplateId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
- name: artifactPath
in: path
required: true
description: Artifact Path
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Fetch individual NetSlice Template artifact
description: Fetch individual NetSlice Template artifact
operationId: getNstArtifact
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: binary
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates/{netsliceTemplateId}/nst':
parameters:
- name: netsliceTemplateId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Read NST of an on-boarded NetSlice Template
description: Read NST of an on-boarded NetSlice Template
operationId: getNstNst
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/NetSliceTemplate'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates/{netsliceTemplateId}/nst_content':
parameters:
- name: netsliceTemplateId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Fetch the content of a NST
description: Fetch the content of a NST
operationId: getNSTcontent
responses:
'200':
description: OK
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "NetSlice templates"
summary: Upload the content of a NST
description: Upload the content of a NST
operationId: updateNSTcontent
requestBody:
$ref: '#/components/requestBodies/NetSlicePackage'
responses:
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates_content':
post:
tags:
- "NetSlice templates"
summary: Upload a NetSlice package by providing the content of the NetSlice package
description: Upload a NetSlice package by providing the content of the NetSlice package
operationId: uploadNstContent
requestBody:
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
get:
tags:
- "NetSlice templates"
summary: Query information about multiple NetSlice Template resources
description: Query information about multiple NetSlice Template resources
operationId: getNstContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNstInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNstInfo'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates_content/{netsliceTemplateContentId}':
parameters:
- name: netsliceTemplateContentId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Read information about an individual NetSlice Template resource
description: Read information about an individual NetSlice Template resource
operationId: getNstIdContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NstInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NstInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "NetSlice templates"
summary: Modify an individual NetSlice Template resource
description: Modify an individual NetSlice Template resource
operationId: updateNstIdContent
requestBody:
$ref: '#/components/requestBodies/NstInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NetSlice templates"
summary: Delete an individual NetSlice Template resource
description: Delete an individual NetSlice Template resource
operationId: deleteNstIdContent
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NetSlice Templates
# BEGIN NetSlice Instances
'/nsilcm/v1/netslice_instances':
get:
tags:
- "NetSlice instances"
summary: Query information about multiple NetSlice instances
description: Query information about multiple NetSlice isntances
operationId: getNSIs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNetSliceInstance'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNetSliceInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NetSlice instances"
summary: Create a new NetSlice instance resource
description: Create a new NetSlice instance resource
operationId: addNSI
requestBody:
$ref: '#/components/requestBodies/InstantiateNsiRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances/{netsliceInstanceId}':
parameters:
- name: netsliceInstanceId
in: path
required: true
description: NetSlice Instance ID
schema:
type: string
get:
tags:
- "NetSlice instances"
summary: Read an individual NetSlice instance resource
description: Read an individual NetSlice instance resource
operationId: getNSI
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetSliceInstance'
application/yaml:
schema:
$ref: '#/components/schemas/NetSliceInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NetSlice instances"
summary: Delete an individual NetSlice instance resource
description: Delete an individual NetSlice instance resource
operationId: deleteNSI
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances/{netsliceInstanceId}/instantiate':
parameters:
- name: netsliceInstanceId
in: path
required: true
description: NetSlice Instance ID
schema:
type: string
post:
tags:
- "NetSlice instances"
summary: Instantiate a NetSlice
description: |
Instantiate a NetSlice. The precondition is that the NetSlice instance
must have been created and must be in NOT_INSTANTIATED state. As a result
of the success of this operation, the NFVO creates a "NetSlice Lifecycle
Operation Occurrence" resource for the request, and the NS instance state
becomes INSTANTIATED.
operationId: instantiateNSI
requestBody:
$ref: '#/components/requestBodies/InstantiateNsiRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NetSlice Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances/{netsliceInstanceId}/terminate':
parameters:
- name: netsliceInstanceId
in: path
required: true
description: NetSlice Instance ID
schema:
type: string
post:
tags:
- "NetSlice instances"
summary: Terminate a NetSlice instance
description: |
Terminate a NetSlice instance. The precondition is that the NetSlice instance
must have been created and must be in INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NetSlice Lifecycle Operation
Occurrence" resource for the request, and the NetSlice instance state becomes
NOT_INSTANTIATED.
operationId: terminateNSI
requestBody:
# Request data is not required
$ref: '#/components/requestBodies/TerminateNsiRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NetSlice Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances/{netsliceInstanceId}/action':
parameters:
- name: netsliceInstanceId
in: path
required: true
description: NetSlice Instance ID
schema:
type: string
post:
tags:
- "NetSlice instances"
summary: Execute an action on a NetSlice instance
description: |
Execute an action on a NetSlice instance.
The NetSlice instance must have been created and must be in INSTANTIATED state.
operationId: actionOnNSI
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NsiActionRequest'
application/yaml:
schema:
$ref: '#/components/schemas/NsiActionRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances_content':
get:
tags:
- "NetSlice instances"
summary: Query information about multiple NetSlice instances
description: Query information about multiple NetSlice isntances
operationId: getNSIsContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNetSliceInstance'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNetSliceInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NetSlice instances"
summary: Create a new NetSlice instance
description: Create a new NetSlice instance
operationId: createNSIContent
requestBody:
$ref: '#/components/requestBodies/InstantiateNsiRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNsiContentResponse'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNsiContentResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances_content/{netsliceInstanceContentId}':
parameters:
- name: netsliceInstanceContentId
in: path
required: true
description: NetSlice Instance Content ID
schema:
type: string
get:
tags:
- "NetSlice instances"
summary: Read an individual NetSlice instance resource
description: Read an individual NetSlice instance resource
operationId: getNSIContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetSliceInstance'
application/yaml:
schema:
$ref: '#/components/schemas/NetSliceInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NetSlice instances"
summary: Delete an individual NS instance resource
description: Delete an individual NS instance resource
operationId: deleteNSIContent
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/nsi_lcm_op_occs':
get:
tags:
- "NetSlice instances"
summary: Query information about multiple NetSlice LCM Operation Occurrences
description: Query information about multiple NetSlice LCM Operation Occurrences
operationId: getNsiLcmOpOccs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/nsi_lcm_op_occs/{nsiLcmOpOccId}':
parameters:
- name: nsiLcmOpOccId
in: path
required: true
description: NetSlice LCM Operation Occurrence ID
schema:
type: string
get:
tags:
- "NetSlice instances"
summary: Query information about an individual NetSlice LCM Operation Occurrence
description: Query information about an individual NetSlice LCM Operation Occurrence
operationId: getNsiLcmOpOcc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsiLcmOpOcc'
application/yaml:
schema:
$ref: '#/components/schemas/NsiLcmOpOcc'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NetSlice Instances
# BEGIN NSPM
'/nspm/v1/pm_jobs/{pmJobId}/reports/{nsId}':
parameters:
- name: pmJobId
in: path
required: true
description: NS PM Job ID
schema:
type: string
- name: nsId
in: path
required: true
description: NS ID
schema:
type: string
get:
tags:
- "NS Performance Management"
summary: Query information about an individual NS PM Job Report
description: Query information about an individual NS PM Job Report
operationId: getNsPmJobReport
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsPmJobReportInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NsPmJobReportInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NSPM
# BEGIN PDU
'/pdu/v1/pdu_descriptors':
get:
tags:
- "Physical Data Units (PDU)"
summary: Query information about multiple PDU Descriptors
description: Query information about multiple PDU Descriptors
operationId: getPDUs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfPduInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfPduInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Physical Data Units (PDU)"
summary: Create a new PDU
description: Create a new PDU Descriptor
operationId: createPDU
requestBody:
$ref: '#/components/requestBodies/CreatePduRequest'
responses:
'200':
description: OK
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/pdu/v1/pdu_descriptors/{pduDescriptorId}':
parameters:
- name: pduDescriptorId
in: path
required: true
description: PDU Descriptor ID
schema:
type: string
get:
tags:
- "Physical Data Units (PDU)"
summary: Query information about an individual PDU Descriptor
description: Query information about an individual PDU Descriptor
operationId: getPDU
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PduInfo'
application/yaml:
schema:
$ref: '#/components/schemas/PduInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Physical Data Units (PDU)"
summary: Modify an individual PDU Descriptor
description: Modify an individual PDU Descriptor
operationId: editPDU
requestBody:
$ref: '#/components/requestBodies/EditPduRequest'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Physical Data Units (PDU)"
summary: Delete an individual PDU Descriptor
description: Delete an individual PDU Descriptor
operationId: deletePDU
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END PDU
# BEGIN Admin
'/admin/v1/tokens':
get:
tags:
- "Authentication"
- "Admin"
summary: Query information about multiple Tokens
description: Query information about multiple Tokens
operationId: getTokens
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfTokenInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfTokenInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Authentication"
- "Admin"
summary: Request a new Token
description: Request a new Token
operationId: createToken
requestBody:
$ref: '#/components/requestBodies/CreateTokenRequest'
responses:
'200':
description: OK
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/TokenInfo'
application/yaml:
schema:
$ref: '#/components/schemas/TokenInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Authentication"
- "Admin"
summary: Delete the Token indicated in the Authorization Header
description: Delete the Token indicated in the Authorization Header
operationId: deleteAuthToken
responses:
'200':
description: OK
content:
application/json:
schema:
type: string
application/yaml:
schema:
type: string
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/tokens/{tokenId}':
parameters:
- name: tokenId
in: path
required: true
description: Token ID
schema:
type: string
get:
tags:
- "Authentication"
- "Admin"
summary: Query information about an individual Token
description: Query information about an individual Token
operationId: getToken
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TokenInfo'
application/yaml:
schema:
$ref: '#/components/schemas/TokenInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Authentication"
- "Admin"
summary: Delete the Token indicated as parameter
description: Delete the Token indicated as parameter
operationId: deleteToken
responses:
'200':
description: OK
content:
application/json:
schema:
type: string
application/yaml:
schema:
type: string
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/users':
get:
tags:
- "Identity"
- "Admin"
summary: Query information about multiple Users
description: Query information about multiple Users
operationId: getUsers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfUserInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfUserInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Identity"
- "Admin"
summary: Create a new User
description: Create a new User
operationId: createUser
requestBody:
$ref: '#/components/requestBodies/CreateUserRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/users/{userId}':
parameters:
- name: userId
in: path
required: true
description: User ID/Name
schema:
type: string
get:
tags:
- "Identity"
- "Admin"
summary: Query information about an individual User
description: Query information about an individual User
operationId: getUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserInfo'
application/yaml:
schema:
$ref: '#/components/schemas/UserInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Identity"
- "Admin"
summary: Modify a User
description: Modify a User
operationId: editUser
requestBody:
$ref: '#/components/requestBodies/EditUserRequest'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Identity"
- "Admin"
summary: Delete a User
description: Delete a User
operationId: deleteUser
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/projects':
get:
tags:
- "Identity"
- "Admin"
summary: Query information about multiple Projects
description: Query information about multiple Projects
operationId: getProjects
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfProjectInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfProjectInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Identity"
- "Admin"
summary: Create a new Project
description: Create a new Project
operationId: createProject
requestBody:
$ref: '#/components/requestBodies/CreateProjectRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/projects/{projectId}':
parameters:
- name: projectId
in: path
required: true
description: Project ID/Name
schema:
type: string
get:
tags:
- "Identity"
- "Admin"
summary: Query information about an individual Project
description: Query information about an individual Project
operationId: getProject
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ProjectInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Identity"
- "Admin"
summary: Modify a Project
description: Modify a Project
operationId: editProject
requestBody:
$ref: '#/components/requestBodies/EditProjectRequest'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Identity"
- "Admin"
summary: Delete a Project
description: Delete a Project
operationId: deleteProject
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/roles':
get:
tags:
- "Identity"
- "Admin"
summary: Query information about multiple Roles
description: Query information about multiple Roles
operationId: getRoles
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfRoleInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfRoleInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Identity"
- "Admin"
summary: Create a new Role
description: Create a new Role
operationId: createRole
requestBody:
$ref: '#/components/requestBodies/CreateRoleRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/roles/{roleId}':
parameters:
- name: roleId
in: path
required: true
description: Role ID/Name
schema:
type: string
get:
tags:
- "Identity"
- "Admin"
summary: Query information about an individual Role
description: Query information about an individual Role
operationId: getRole
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RoleInfo'
application/yaml:
schema:
$ref: '#/components/schemas/RoleInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Identity"
- "Admin"
summary: Modify a Role
description: Modify a Role
operationId: editRole
requestBody:
$ref: '#/components/requestBodies/EditRoleRequest'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Identity"
- "Admin"
summary: Delete a Role
description: Delete a Role
operationId: deleteRole
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vims':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple VIMs
description: Query information about multiple VIMs
operationId: getVIMs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new VIM
description: Create a new VIM
operationId: createVIM
requestBody:
$ref: '#/components/requestBodies/CreateVimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vims/{vimId}':
parameters:
- name: vimId
in: path
required: true
description: VIM ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual VIM
description: Query information about an individual VIM
operationId: getVIM
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a VIM
description: Modify a VIM
operationId: editVIM
requestBody:
$ref: '#/components/requestBodies/EditVimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a VIM
description: Delete a VIM
operationId: deleteVIM
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vim_accounts':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple VIM Accounts
description: Query information about multiple VIM Accounts
operationId: getVimAccounts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new VIM Account
description: Create a new VIM Account
operationId: createVimAccount
requestBody:
$ref: '#/components/requestBodies/CreateVimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vim_accounts/{vimAccountId}':
parameters:
- name: vimAccountId
in: path
required: true
description: VIM Account ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual VIM Account
description: Query information about an individual VIM Account
operationId: getVimAccount
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a VIM Account
description: Modify a VIM Account
operationId: editVimAccount
requestBody:
$ref: '#/components/requestBodies/EditVimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a VIM Account
description: Delete a VIM Account
operationId: deleteVimAccount
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/wim_accounts':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple WIM Accounts
description: Query information about multiple WIM Accounts
operationId: getWimAccounts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfWimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfWimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new WIM Account
description: Create a new WIM Account
operationId: createWimAccount
requestBody:
$ref: '#/components/requestBodies/CreateWimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/wim_accounts/{wimAccountId}':
parameters:
- name: wimAccountId
in: path
required: true
description: WIM Account ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual WIM Account
description: Query information about an individual WIM Account
operationId: getWimAccount
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/WimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a WIM Account
description: Modify a WIM Account
operationId: editWimAccount
requestBody:
$ref: '#/components/requestBodies/EditWimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a WIM Account
description: Delete a WIM Account
operationId: deleteWimAccount
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/sdns':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple SDNs
description: Query information about multiple SDNs
operationId: getSDNs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfSdnInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfSdnInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new SDN
description: Create a new SDN
operationId: createSDN
requestBody:
$ref: '#/components/requestBodies/CreateSdnRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/sdns/{sdnId}':
parameters:
- name: sdnId
in: path
required: true
description: SDN ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual SDN
description: Query information about an individual SDN
operationId: getSDN
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SdnInfo'
application/yaml:
schema:
$ref: '#/components/schemas/SdnInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a SDN
description: Modify a SDN
operationId: editSDN
requestBody:
$ref: '#/components/requestBodies/EditSdnRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a SDN
description: Delete a SDN
operationId: deleteSDN
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/k8sclusters':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple K8s Clusters
description: Query information about multiple K8s Clusters
operationId: getK8sClusters
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfK8sClusterInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfK8sClusterInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new K8s Cluster
description: Create a new K8s Cluster
operationId: createK8sCluster
requestBody:
$ref: '#/components/requestBodies/CreateK8sClusterRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/k8sclusters/{k8sClusterId}':
parameters:
- name: k8sClusterId
in: path
required: true
description: K8s Cluster ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual K8s Cluster
description: Query information about an individual K8s Cluster
operationId: getK8sCluster
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/K8sClusterInfo'
application/yaml:
schema:
$ref: '#/components/schemas/K8sClusterInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a K8s Cluster
description: Modify a K8s Cluster
operationId: editK8sCluster
requestBody:
$ref: '#/components/requestBodies/EditK8sClusterRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a K8s Cluster
description: Delete a K8s Cluster
operationId: deleteK8sCluster
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/k8srepos':
get:
tags:
- "Repositories"
- "Admin"
summary: Query information about multiple K8s Repos
description: Query information about multiple K8s Repos
operationId: getK8sRepos
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfK8sRepoInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfK8sRepoInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Repositories"
- "Admin"
summary: Create a new K8s Repo
description: Create a new K8s Repo
operationId: createK8sRepo
requestBody:
$ref: '#/components/requestBodies/CreateK8sRepoRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/k8srepos/{k8sRepoId}':
parameters:
- name: k8sRepoId
in: path
required: true
description: K8s Repo ID
schema:
type: string
format: uuid
get:
tags:
- "Repositories"
- "Admin"
summary: Query information about an individual K8s Repo
description: Query information about an individual K8s Repo
operationId: getK8sRepo
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/K8sRepoInfo'
application/yaml:
schema:
$ref: '#/components/schemas/K8sRepoInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Repositories"
- "Admin"
summary: Delete a K8s Repo
description: Delete a K8s Repo
operationId: deleteK8sRepo
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END Admin
externalDocs:
description: Find out more about OSM
url: 'https://osm.etsi.org/docs/user-guide/'
components:
responses:
BadRequest:
description: Bad request. The server cannot process the request due to a client error.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
Unauthorized:
description: Authorization information is missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
Forbidden:
description: Not enough permissions to do this operation.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
NotFound:
description: The specified resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
MethodNotAllowed:
description: This method is not supported for the requested resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
NotAcceptable:
description: The requested resource content cannot match the Accept headers sent in the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
Conflict:
description: The operation cannot be executed currently, due to a conflict with the state of the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
UnprocessableEntity:
description: The request was well-formed but was unable to be followed due to semantic errors.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
InternalServerError:
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
ServiceUnavailable:
description: Service temporarily unavailable.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
UnexpectedError:
description: Unexpected error.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
VnfDescriptor:
description: VNF Descriptor (plaintext)
content:
text/plain:
schema:
$ref: '#/components/schemas/VnfDescriptor'
VnfPackage:
description: VNF Package (compressed)
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
NsDescriptor:
description: NS Descriptor (plaintext)
content:
text/plain:
schema:
$ref: '#/components/schemas/NsDescriptor'
NsPackage:
description: NS Package (compressed)
content:
application/zip:
schema:
$ref: '#/components/schemas/NsPackage'
NetSliceTemplate:
description: NetSlice Template (plaintext)
content:
text/plain:
schema:
$ref: '#/components/schemas/NetSliceTemplate'
NetSlicePackage:
description: NetSlice Package (compressed)
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
# END RESPONSES
schemas:
ObjectId:
type: object
properties:
id:
type: string
format: uuid
KeyValuePairs:
# A free list of key:value pairs
type: object
additionalProperties: true
NsDescriptor:
type: string
format: yaml|json
NsPackage:
type: string
format: binary
CreateNsdInfoRequest:
# A free list of key:value pairs
type: object
additionalProperties: true
NsdInfoModifications:
description: |
NS Descriptor Information
Only generic fields (id, name, description) are described
For a full specification of the NS Descriptor see:
http://osm-download.etsi.org/ftp/osm-doc/nsd.html
type: object
properties:
id:
description: NSD Identifier
type: string
name:
description: NSD Name
type: string
description:
description: NSD Description
type: string
NsdInfo:
description: |
NS Descriptor Information
Only generic fields (_id, id, name, description) are described
For a full specification of the NS Descriptor see:
http://osm-download.etsi.org/ftp/osm-doc/nsd.html
type: object
properties:
_id:
description: |
Identifier of the onboarded individual NS descriptor
resource. This identifier is allocated by the NFVO.
type: string
format: uuid
id:
description: |
This identifier, which is allocated by the NSD
designer, identifies the NSD in a globally unique
way. It is copied from the NSD content and shall be
present after the NSD content is on-boarded.
type: string
name:
description: |
Name of the onboarded NSD. This information is
copied from the NSD content and shall be present
after the NSD content is on-boarded.
type: string
description:
description: |
Description of the onboarded NSD.
This information is copied from the NSD content.
type: string
required:
- _id
- id
ArrayOfNsdInfo:
type: array
items:
$ref: '#/components/schemas/NsdInfo'
ProblemDetails:
type: object
properties:
type:
type: string
format: uri
title:
type: string
status:
type: integer
detail:
type: string
instance:
type: string
format: uri
additionalProperties: true
required:
- status
- detail
VnfDescriptor:
type: string
format: yaml|json
VnfPackage:
type: string
format: binary
CreateVnfPkgInfoRequest:
# A free list of key:value pairs
type: object
additionalProperties: true
VnfPkgInfoModifications:
description: |
VNF Package Information
Only generic fields (id, name, description) are described
For a full specification of the VNF Descriptor see:
http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
type: object
properties:
id:
description: VNF Package Identifier
type: string
name:
description: VNF Package Name
type: string
description:
description: VNF Package description
type: string
VnfPkgInfo:
description: |
VNF Package Information
Only generic fields (_id, id, name, description) are described
For a full specification of the VNF Descriptor see:
http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
type: object
properties:
_id:
description: |
Identifier of the VNF package. This identifier is allocated by the NFVO.
type: string
format: uuid
id:
description: VNF Package Identifier
type: string
name:
description: VNF Package Name
type: string
description:
description: VNF Package description
type: string
required:
- _id
- id
ArrayOfVnfPkgInfo:
type: array
items:
$ref: '#/components/schemas/VnfPkgInfo'
# CreateNsRequest:
# Substituted by InstantiateNsRequest
NsInstance:
description: |
NS Instance Information
Only generic fields (_id, id, name, description) are described
For a full specification of the NS Instance see:
http://osm-download.etsi.org/ftp/osm-doc/nsr.html
type: object
properties:
_id:
description: Identifier of the NS instance.
type: string
format: uuid
id:
description: Identifier of the NS instance.
type: string
format: uuid
name:
description: Human readable name of the NS instance.
type: string
description:
description: Human readable description of the NS instance.
type: string
required:
- _id
- id
- name
InstantiateNsRequest:
type: object
properties:
nsName:
description: |
Human-readable name of the NS instance to be created.
type: string
nsdId:
description: |
Identifier of the NSD that defines the NS instance to be created.
type: string
format: uuid
vimAccountId:
description: |
Identifier of the VIM Account where the NS instance shall be created.
type: string
format: uuid
lcmOperationType:
type: string
nsInstanceId:
type: string
format: uuid
netsliceInstanceId:
type: string
format: uuid
nsDescription:
type: string
nullable: true
wimAccountId:
oneOf:
- type: string
- type: boolean
nullable: true
additionalParamsForNs:
type: object
additionalProperties: true
additionalParamsForVnf:
type: array
items:
type: object
properties:
member-vnf-index:
type: string
additionalParams:
type: object
additionalProperties: true
additionalParamsForVdu:
type: array
items:
type: object
properties:
vdu_id:
type: string
additionalParams:
type: object
additionalProperties: true
required:
- vdu_id
- additionalParams
additionalProperties: false
additionalParamsForKdu:
type: array
items:
type: object
properties:
kdu_name:
type: string
additionalParams:
type: object
additionalProperties: true
required:
- kdu_name
- additionalParams
additionalProperties: false
required:
- member-vnf-index
minProperties: 2
additionalProperties: false
ssh_keys:
type: array
items:
type: string
nsr_id:
type: string
format: uuid
vduImage:
type: string
vnf:
type: array
items:
type: object
properties:
member-vnf-index:
type: string
vimAccountId:
type: string
format: uuid
vdu:
type: array
items:
type: object
properties:
id:
type: string
volume:
type: array
items:
type: object
properties:
name:
type: string
vim-volume-id:
type: string
required:
- name
- vim-volume-id
additionalProperties: false
minItems: 1
interface:
type: array
items:
type: object
properties:
name:
type: string
ip-address:
type: string
format: ipv4
mac-address:
type: string
format: mac_address
floating-ip-required:
type: boolean
required:
- name
additionalProperties: false
minItems: 1
required:
- id
additionalProperties: false
minItems: 1
internal-vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
type: string
vim-network-id:
type: string
ip-profile:
type: object
properties:
ip-version:
type: string
enum:
- ipv4
- ipv6
subnet-address:
type: string
format: ip_prefix
nullable: true
gateway-address:
type: string
format: ipv4
nullable: true
dns-server:
type: array
items:
type: object
properties:
address:
type: string
format: ipv4
required:
- address
additionalProperties: false
minItems: 1
nullable: true
dhcp-params:
type: object
properties:
enabled:
type: boolean
count:
type: integer
minimum: 1
start-address:
type: string
format: ipv4
additionalProperties: false
nullable: true
additionalProperties: false
provider-network:
type: object
properties:
physical-network:
type: string
segmentation-id:
type: string
additionalProperties: false
internal-connection-point:
type: array
items:
type: object
properties:
id-ref:
type: string
ip-address:
type: string
format: ipv4
required:
- id-ref
minProperties: 2
additionalProperties: False
minItems: 1
required:
- name
minProperties: 2
additionalProperties: false
minItems: 1
required:
- member-vnf-index
minProperties: 2
additionalProperties: false
minItems: 1
vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
oneOf:
- type: string
- type: object
vim-network-id:
oneOf:
- type: string
- type: object
ns-net:
type: object
additionalProperties: true
wimAccountId:
oneOf:
- type: string
- type: boolean
nullable: true
ip-profile:
type: object
additionalProperties: true
provider-network:
type: object
properties:
physical-network:
type: string
segmentation-id:
type: string
additionalProperties: false
vnfd-connection-point-ref:
type: array
items:
type: object
properties:
member-vnf-index-ref:
type: string
vnfd-connection-point-ref:
type: string
ip-address:
type: string
format: ipv4
required:
- member-vnf-index-ref
- vnfd-connection-point-ref
minProperties: 3
additionalProperties: false
minItems: 1
required:
- name
additionalProperties: false
minItems: 1
required:
- nsName
- nsdId
- vimAccountId
additionalProperties: false
ScaleNsRequest:
type: object
properties:
scaleType:
type: string
enum:
- SCALE_VNF
scaleVnfData:
type: object
properties:
scaleVnfType:
type: string
enum:
- SCALE_IN
- SCALE_OUT
scaleByStepData:
type: object
properties:
scaling-group-descriptor:
type: string
member-vnf-index:
type: string
additionalProperties: true
additionalProperties: true
additionalProperties: true
TerminateNsRequest:
type: object
properties:
terminationTime:
description: |
Timestamp indicating the end time of the NS, i.e. the NS will be terminated
automatically at this timestamp. Cardinality "0" indicates the NS termination
takes place immediately.
type: string
format: date-time
ArrayOfNsInstance:
type: array
items:
$ref: '#/components/schemas/NsInstance'
NSinstanceActionRequest:
type: object
properties:
primitive:
type: string
primitive_params:
$ref: '#/components/schemas/KeyValuePairs'
lcmOperationType:
type: string
nsInstanceId:
type: string
format: uuid
member_vnf_index:
type: string
vdu_id:
type: string
vdu_count_index:
type: integer
required:
- primitive
- primitive_params
additionalProperties: false
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNSinstanceContentResponse:
type: object
properties:
id:
type: string
format: uuid
nslcmop_id:
type: string
format: uuid
NsLcmOpOcc:
type: object
properties:
_id:
type: string
format: uuid
id:
type: string
format: uuid
lcmOperationType:
type: string
nsInstanceId:
type: string
format: uuid
isAutomaticInvocation:
type: boolean
isCancelPending:
type: boolean
startTime:
type: number
format: float
statusEnteredTime:
type: number
format: float
operationParams:
type: object
properties:
nsName:
type: string
nsdId:
type: string
format: uuid
vimAccountId:
type: string
format: uuid
nsInstanceId:
type: string
format: uuid
lcmOperationType:
type: string
operationState:
type: string
detailed-status:
type: string
links:
type: object
properties:
self:
type: string
format: path # uri?
nsInstance:
type: string
format: path # uri?
ArrayOfNsLcmOpOcc:
type: array
items:
$ref: '#/components/schemas/NsLcmOpOcc'
VnfInstanceInfo:
description: |
VNF Instance Information
Only generic fields (_id, id) are described
For a full specification of the VNF Instance see:
http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
type: object
properties:
_id:
type: string
format: uuid
id:
type: string
format: uuid
ArrayOfVnfInstanceInfo:
type: array
items:
$ref: '#/components/schemas/VnfInstanceInfo'
NstInfo:
description: |
NetSlice Template Information
Only generic fields (_id, id, name) are described
For a full specification of the NetSlice Template see:
http://osm-download.etsi.org/ftp/osm-doc/nst.html
type: object
properties:
_id:
description: NetSlice Template Identifier
type: string
format: uuid
id:
description: Human readable NetSlice Template Identifier
type: string
name:
description: Human readable name of the NetSlice Template
type: string
ArrayOfNstInfo:
type: array
items:
$ref: '#/components/schemas/NstInfo'
CreateNstInfoRequest:
# A free list of key:value pairs
type: object
additionalProperties: true
NetSliceTemplate:
type: string
format: yaml|json
NetSlicePackage:
type: string
format: binary
NstInfoModifications:
description: |
NetSlice Template Information
Only generic fields (id, name) are described
For a full specification of the NetSlice Template see:
http://osm-download.etsi.org/ftp/osm-doc/nst.html
type: object
properties:
id:
description: NST Identifier
type: string
name:
description: NST Name
type: string
NetSliceInstance:
description: |
NetSlice Instance Information
Only generic fields (_id, id, name, description) are described
For a full specification of the NetSlice Instance see:
http://osm-download.etsi.org/ftp/osm-doc/nsi.html
type: object
properties:
_id:
description: Identifier of the NetSlice instance.
type: string
format: uuid
id:
description: Identifier of the NetSlice instance.
type: string
format: uuid
name:
description: Human readable name of the NetSlice instance.
type: string
description:
description: Human readable description of the NetSlice instance.
type: string
required:
- _id
- id
- name
ArrayOfNetSliceInstance:
type: array
items:
$ref: '#/components/schemas/NetSliceInstance'
# CreateNsiRequest:
# Substituted by InstantiateNsiRequest
InstantiateNsiRequest:
type: object
properties:
nsiName:
description: |
Human-readable name of the NetSlice instance to be created.
type: string
nstId:
description: |
Identifier of the NST that defines the NetSlice instance to be created.
type: string
format: uuid
vimAccountId:
description: |
Identifier of the VIM Account where the NetSlice instance shall be created.
type: string
format: uuid
lcmOperationType:
type: string
netsliceInstanceId:
type: string
format: uuid
nsiDescription:
type: string
nullable: true
ssh_keys:
type: string
nsi_id:
type: string
format: uuid
additionalParamsForNsi:
type: object
additionalProperties: true
netslice-subnet:
type: array
items:
type: object
properties:
id:
type: string
nsName:
type: string
nsdId:
type: string
format: uuid
vimAccountId:
type: string
format: uuid
lcmOperationType:
type: string
nsInstanceId:
type: string
format: uuid
netsliceInstanceId:
type: string
format: uuid
nsDescription:
type: string
nullable: true
wimAccountId:
oneOf:
- type: string
- type: boolean
nullable: true
additionalParamsForNs:
type: object
additionalProperties: true
additionalParamsForVnf:
type: array
items:
type: object
properties:
member-vnf-index:
type: string
additionalParams:
type: object
additionalProperties: true
additionalParamsForVdu:
type: array
items:
type: object
properties:
vdu_id:
type: string
additionalParams:
type: object
additionalProperties: true
required:
- vdu_id
- additionalParams
additionalProperties: false
additionalParamsForKdu:
type: array
items:
type: object
properties:
kdu_name:
type: string
additionalParams:
type: object
additionalProperties: true
required:
- kdu_name
- additionalParams
additionalProperties: false
required:
- member-vnf-index
minProperties: 2
additionalProperties: false
ssh_keys:
type: array
items:
type: string
nsr_id:
type: string
format: uuid
vduImage:
type: string
vnf:
type: array
items:
type: object
properties:
member-vnf-index:
type: string
vimAccountId:
type: string
format: uuid
vdu:
type: array
items:
type: object
properties:
id:
type: string
volume:
type: array
items:
type: object
properties:
name:
type: string
vim-volume-id:
type: string
required:
- name
- vim-volume-id
additionalProperties: false
minItems: 1
interface:
type: array
items:
type: object
properties:
name:
type: string
ip-address:
type: string
format: ipv4
mac-address:
type: string
format: mac_address
floating-ip-required:
type: boolean
required:
- name
additionalProperties: false
minItems: 1
required:
- id
additionalProperties: false
minItems: 1
internal-vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
type: string
vim-network-id:
type: string
ip-profile:
type: object
properties:
ip-version:
type: string
enum:
- ipv4
- ipv6
subnet-address:
type: string
format: ip_prefix
nullable: true
gateway-address:
type: string
format: ipv4
nullable: true
dns-server:
type: array
items:
type: object
properties:
address:
type: string
format: ipv4
required:
- address
additionalProperties: false
minItems: 1
nullable: true
dhcp-params:
type: object
properties:
enabled:
type: boolean
count:
type: integer
minimum: 1
start-address:
type: string
format: ipv4
additionalProperties: false
nullable: true
additionalProperties: false
provider-network:
type: object
properties:
physical-network:
type: string
segmentation-id:
type: string
additionalProperties: false
internal-connection-point:
type: array
items:
type: object
properties:
id-ref:
type: string
ip-address:
type: string
format: ipv4
required:
- id-ref
minProperties: 2
additionalProperties: False
minItems: 1
required:
- name
minProperties: 2
additionalProperties: false
minItems: 1
required:
- member-vnf-index
minProperties: 2
additionalProperties: false
minItems: 1
vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
oneOf:
- type: string
- type: object
vim-network-id:
oneOf:
- type: string
- type: object
ns-net:
type: object
additionalProperties: true
wimAccountId:
oneOf:
- type: string
- type: boolean
nullable: true
ip-profile:
type: object
additionalProperties: true
provider-network:
type: object
properties:
physical-network:
type: string
segmentation-id:
type: string
additionalProperties: false
vnfd-connection-point-ref:
type: array
items:
type: object
properties:
member-vnf-index-ref:
type: string
vnfd-connection-point-ref:
type: string
ip-address:
type: string
format: ipv4
required:
- member-vnf-index-ref
- vnfd-connection-point-ref
minProperties: 3
additionalProperties: false
minItems: 1
required:
- name
additionalProperties: false
minItems: 1
additionalProperties: false
minItems: 1
netslice-vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
oneOf:
- type: string
- type: object
vim-network-id:
oneOf:
- type: string
- type: object
ip-profile:
type: object
additionalProperties: true
required:
- name
additionalProperties: false
minItems: 1
required:
- nsiName
- nstId
- vimAccountId
additionalProperties: false
TerminateNsiRequest:
type: object
properties:
terminationTime:
description: |
Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
automatically at this timestamp. Cardinality "0" indicates the NSI termination
takes place immediately.
type: string
format: date-time
NsiActionRequest:
type: object
properties:
primitive:
type: string
primitive_params:
$ref: '#/components/schemas/KeyValuePairs'
lcmOperationType:
type: string
netsliceInstanceId:
type: string
format: uuid
required:
- primitive
- primitive_params
# CreateNsiContentRequest:
# Substituted by InstantiateNsiRequest
CreateNsiContentResponse:
type: object
properties:
id:
type: string
format: uuid
nsilcmop_id:
type: string
format: uuid
NsiLcmOpOcc:
type: object
properties:
_id:
type: string
format: uuid
id:
type: string
format: uuid
lcmOperationType:
type: string
netsliceInstanceId:
type: string
format: uuid
isAutomaticInvocation:
type: boolean
isCancelPending:
type: boolean
startTime:
type: number
format: float
statusEnteredTime:
type: number
format: float
operationParams:
type: object
properties:
nsiName:
type: string
nstId:
type: string
format: uuid
vimAccountId:
type: string
format: uuid
netsliceInstanceId:
type: string
format: uuid
lcmOperationType:
type: string
nslcmops_ids:
type: array
items:
type: string
format: uuid
operationState:
type: string
detailed-status:
type: string
links:
type: object
properties:
self:
type: string
format: path # uri?
netsliceInstanceId:
type: string
format: path # uri?
ArrayOfNsiLcmOpOcc:
type: array
items:
$ref: '#/components/schemas/NsiLcmOpOcc'
TokenInfo:
type: object
properties:
_id:
type: string
id:
type: string
admin:
type: boolean
project_id:
type: string
format: uuid
user_id:
type: string
format: uuid
project_name:
type: string
username:
type: string
issued_at:
type: number
format: float
expires:
type: number
format: float
remote_host:
type: string
format: ipv4
remote_port:
type: integer
roles:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
ArrayOfTokenInfo:
type: array
items:
$ref: '#/components/schemas/TokenInfo'
CreateTokenRequest:
type: object
properties:
username:
type: string
password:
type: string
project_id:
type: string
required:
- username
- password
UserInfo:
type: object
properties:
_id:
type: string
format: uuid
username:
type: string
password:
type: string
project_role_mappings:
type: array
items:
type: object
properties:
project:
type: string
format: uuid
role:
type: string
format: uuid
project_name:
type: string
role_name:
type: string
projects:
type: array
items:
type: string
ArrayOfUserInfo:
type: array
items:
$ref: '#/components/schemas/UserInfo'
ProjectRoleMappings:
type: array
items:
type: object
properties:
project:
type: string
role:
type: string
required:
- project
- role
additionalProperties: false
ProjectRoleMappingsOpt:
type: array
items:
type: object
properties:
project:
type: string
role:
type: string
required:
- project
additionalProperties: false
CreateUserRequest:
type: object
properties:
username:
type: string
password:
type: string
projects:
type: array
items:
type: string
project_role_mappings:
$ref: '#/components/schemas/ProjectRoleMappings'
required:
- username
- password
additionalProperties: false
ShortNameList:
type: array
items:
type: string
ArrayEditionSchema:
type: object
additionalProperties: true
minProperties: 1
description: |
Array edition keys must start with '$'
and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
EditUserRequest:
type: object
properties:
username:
type: string
password:
type: string
projects:
oneOf:
- $ref: '#/components/schemas/ShortNameList'
- $ref: '#/components/schemas/ArrayEditionSchema'
project_role_mappings:
$ref: '#/components/schemas/ProjectRoleMappings'
add_project_role_mappings:
$ref: '#/components/schemas/ProjectRoleMappings'
remove_project_role_mappings:
$ref: '#/components/schemas/ProjectRoleMappingsOpt'
QuotasInfo:
type: object
properties:
vnfds:
type: integer
minimum: 0
nullable: false
nsds:
type: integer
minimum: 0
nullable: false
nsts:
type: integer
minimum: 0
nullable: false
pdus:
type: integer
minimum: 0
nullable: false
nsrs:
type: integer
minimum: 0
nullable: false
nsis:
type: integer
minimum: 0
nullable: false
vim_accounts:
type: integer
minimum: 0
nullable: false
wim_accounts:
type: integer
minimum: 0
nullable: false
sdns:
type: integer
minimum: 0
nullable: false
additionalProperties: false
EditQuotasInfo:
type: object
properties:
vnfds:
type: integer
minimum: 0
nullable: true
nsds:
type: integer
minimum: 0
nullable: true
nsts:
type: integer
minimum: 0
nullable: true
pdus:
type: integer
minimum: 0
nullable: true
nsrs:
type: integer
minimum: 0
nullable: true
nsis:
type: integer
minimum: 0
nullable: true
vim_accounts:
type: integer
minimum: 0
nullable: true
wim_accounts:
type: integer
minimum: 0
nullable: true
sdns:
type: integer
minimum: 0
nullable: true
additionalProperties: false
ProjectInfo:
type: object
properties:
_id:
type: string
format: uuid
name:
type: string
quotas:
$ref: '#/components/schemas/QuotasInfo'
ArrayOfProjectInfo:
type: array
items:
$ref: '#/components/schemas/ProjectInfo'
CreateProjectRequest:
type: object
properties:
name:
type: string
admin:
type: boolean
quotas:
$ref: '#/components/schemas/QuotasInfo'
required:
- name
additionalProperties: false
EditProjectRequest:
type: object
properties:
name:
type: string
admin:
type: boolean
quotas:
$ref: '#/components/schemas/EditQuotasInfo'
additionalProperties: false
PermissionsInfo:
type: object
additionalProperties:
type: boolean
nullable: false
description: |
Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
Permission values are either true or false
EditPermissionsInfo:
type: object
additionalProperties:
type: boolean
nullable: true
description: |
Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
Permission values are either true, false, or null
RoleInfo:
type: object
properties:
_id:
type: string
format: uuid
name:
type: string
permissions:
$ref: '#/components/schemas/PermissionsInfo'
ArrayOfRoleInfo:
type: array
items:
$ref: '#/components/schemas/RoleInfo'
CreateRoleRequest:
type: object
properties:
name:
type: string
permissions:
$ref: '#/components/schemas/PermissionsInfo'
required:
- name
additionalProperties: false
EditRoleRequest:
type: object
properties:
name:
type: string
permissions:
$ref: '#/components/schemas/EditPermissionsInfo'
additionalProperties: false
VimType:
type: string
enum:
- openvim
- openstack
- vmware
- opennebula
- aws
- azure
- fos
VimInfo:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
vim:
type: string
datacenter:
type: string
vim_type:
$ref: '#/components/schemas/VimType'
vim_url:
type: string
format: uri
vim_tenant_name:
type: string
vim_user:
type: string
vim_password:
type: string
config:
type: object
additionalProperties: true
ArrayOfVimInfo:
type: array
items:
$ref: '#/components/schemas/VimInfo'
CreateVimRequest:
type: object
properties:
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
vim:
type: string
datacenter:
type: string
vim_type:
$ref: '#/components/schemas/VimType'
vim_url:
type: string
format: uri
vim_tenant_name:
type: string
vim_user:
type: string
vim_password:
type: string
config:
type: object
additionalProperties: true
required:
- name
- vim_url
- vim_type
- vim_user
- vim_password
- vim_tenant_name
additionalProperties: false
EditVimRequest:
type: object
properties:
name:
type: string
description:
type: string
vim:
type: string
datacenter:
type: string
vim_type:
$ref: '#/components/schemas/VimType'
vim_url:
type: string
format: uri
vim_tenant_name:
type: string
vim_user:
type: string
vim_password:
type: string
config:
type: object
additionalProperties: true
additionalProperties: false
ObjectId_plus_OpId:
type: object
properties:
id:
type: string
format: uuid
op_id:
type: string
format: uuid
OpId:
type: object
properties:
op_id:
type: string
format: uuid
WimType:
type: string
enum:
- onos
- odl
- tapi
- dynpac
- fake
WimInfo:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
wim:
type: string
wim_type:
$ref: '#/components/schemas/WimType'
wim_url:
type: string
format: uri
user:
type: string
password:
type: string
config:
type: object
additionalProperties: true
ArrayOfWimInfo:
type: array
items:
$ref: '#/components/schemas/WimInfo'
CreateWimRequest:
type: object
properties:
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
wim:
type: string
wim_type:
$ref: '#/components/schemas/WimType'
wim_url:
type: string
format: uri
user:
type: string
password:
type: string
config:
type: object
additionalProperties: true
required:
- name
- wim_url
- wim_type
additionalProperties: false
EditWimRequest:
type: object
properties:
name:
type: string
description:
type: string
wim:
type: string
wim_type:
type: string
wim_url:
type: string
format: uri
user:
type: string
password:
type: string
config:
type: object
additionalProperties: true
additionalProperties: false
SdnBasicProperties:
type: object
properties:
name:
type: string
description:
type: string
dpid:
type: string
format: mac_address
ip:
type: string
format: ipv4
port:
type: integer
type:
type: string
enum:
- floodlight
- opendaylight
- onos
version:
type: string
user:
type: string
password:
type: string
SdnExtraProperties:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
SdnInfo:
allOf:
- $ref: '#/components/schemas/SdnExtraProperties'
- $ref: '#/components/schemas/SdnBasicProperties'
ArrayOfSdnInfo:
type: array
items:
$ref: '#/components/schemas/SdnInfo'
CreateSdnRequest:
allOf:
- $ref: '#/components/schemas/SdnBasicProperties'
required:
- name
- type
- ip
- port
- dpid
additionalProperties: false
EditSdnRequest:
allOf:
- $ref: '#/components/schemas/SdnBasicProperties'
additionalProperties: false
NsPmJobReportInfo:
type: object
properties:
entries:
type: array
items:
type: object
properties:
objectInstanceId:
type: string
format: uuid
performanceMetric:
type: string
performanceValue:
type: object
properties:
performanceValue:
type: object
properties:
performanceValue:
type: number
vnfMemberIndex:
type: string
vduName:
type: string
timestamp:
type: number
PduInterfaces:
type: array
items:
type: object
properties:
name:
type: string
mgmt:
type: boolean
type:
type: string
enum:
- overlay
- underlay
ip-address:
type: string
format: ipv4
mac-address:
type: string
format: mac_address
vim-network-name:
type: string
vim-network-id:
type: string
required:
- name
- mgmt
- ip-address
additionalProperties: false
PduInfo:
type: object
properties:
_id:
type: string
format: uuid
name:
type: string
type:
type: string
description:
type: string
shared:
type: boolean
vims:
type: array
items:
type: string
vim_accounts:
type: array
items:
type: string
interfaces:
$ref: '#/components/schemas/PduInterfaces'
ArrayOfPduInfo:
type: array
items:
$ref: '#/components/schemas/PduInfo'
CreatePduRequest:
type: object
properties:
name:
type: string
type:
type: string
description:
type: string
shared:
type: boolean
vims:
type: array
items:
type: string
vim_accounts:
type: array
items:
type: string
interfaces:
$ref: '#/components/schemas/PduInterfaces'
required:
- name
- type
- interfaces
additionalProperties: false
EditPduRequest:
type: object
properties:
name:
type: string
type:
type: string
description:
type: string
shared:
type: boolean
vims:
type: array
items:
type: string
vim_accounts:
type: array
items:
type: string
interfaces:
$ref: '#/components/schemas/PduInterfaces'
additionalProperties: false
K8sClusterNetList:
type: array
items:
type: object
additionalProperties: true
K8sClusterInfo:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
credentials:
type: object
additionalProperties: true
vim_account:
type: string
format: uuid
k8s_version:
type: string
nets:
$ref: '#/components/schemas/K8sClusterNetList'
namespace:
type: string
cni:
type: array
items:
type: string
ArrayOfK8sClusterInfo:
type: array
items:
$ref: '#/components/schemas/K8sClusterInfo'
CreateK8sClusterRequest:
type: object
properties:
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
credentials:
type: object
additionalProperties: true
vim_account:
type: string
format: uuid
k8s_version:
type: string
nets:
$ref: '#/components/schemas/K8sClusterNetList'
namespace:
type: string
cni:
type: array
items:
type: string
required:
- name
- credentials
- vim_account
- k8s_version
- nets
additionalProperties: false
EditK8sClusterRequest:
type: object
properties:
name:
type: string
description:
type: string
credentials:
type: object
additionalProperties: true
vim_account:
type: string
format: uuid
k8s_version:
type: string
nets:
$ref: '#/components/schemas/K8sClusterNetList'
namespace:
type: string
cni:
type: array
items:
type: string
additionalProperties: false
K8sRepoType:
type: string
enum:
- chart
- bundle
K8sRepoInfo:
type: object
properties:
_id:
type: string
format: uuid
name:
type: string
description:
type: string
type:
$ref: '#/components/schemas/K8sRepoType'
url:
type: string
format: uri
ArrayOfK8sRepoInfo:
type: array
items:
$ref: '#/components/schemas/K8sRepoInfo'
CreateK8sRepoRequest:
type: object
properties:
name:
type: string
description:
type: string
type:
$ref: '#/components/schemas/K8sRepoType'
url:
type: string
format: uri
required:
- name
- type
- url
additionalProperties: false
# END SCHEMAS
requestBodies:
CreateNsdInfoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNsdInfoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNsdInfoRequest'
NsdInfoModifications:
content:
application/json:
schema:
$ref: '#/components/schemas/NsdInfoModifications'
application/yaml:
schema:
$ref: '#/components/schemas/NsdInfoModifications'
NsDescriptor:
content:
text/plain:
schema:
$ref: '#/components/schemas/NsDescriptor'
NsPackage:
content:
application/zip:
schema:
$ref: '#/components/schemas/NsPackage'
CreateVnfPkgInfoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVnfPkgInfoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateVnfPkgInfoRequest'
VnfPkgInfoModifications:
content:
application/json:
schema:
$ref: '#/components/schemas/VnfPkgInfoModifications'
application/yaml:
schema:
$ref: '#/components/schemas/VnfPkgInfoModifications'
VnfPackage:
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
VnfDescriptor:
content:
text/plain:
schema:
$ref: '#/components/schemas/VnfDescriptor'
# CreateNsRequest:
# Substituted by InstantiateNsRequest
InstantiateNsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/InstantiateNsRequest'
application/yaml:
schema:
$ref: '#/components/schemas/InstantiateNsRequest'
ScaleNsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleNsRequest'
application/yaml:
schema:
$ref: '#/components/schemas/ScaleNsRequest'
TerminateNsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateNsRequest'
application/yaml:
schema:
$ref: '#/components/schemas/TerminateNsRequest'
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNstInfoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNstInfoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNstInfoRequest'
NetSliceTemplate:
content:
text/plain:
schema:
$ref: '#/components/schemas/NetSliceTemplate'
NetSlicePackage:
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
NstInfoModifications:
content:
application/json:
schema:
$ref: '#/components/schemas/NstInfoModifications'
application/yaml:
schema:
$ref: '#/components/schemas/NstInfoModifications'
# CreateNsiRequest:
# Substituted by InstantiateNsiRequest
InstantiateNsiRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/InstantiateNsiRequest'
application/yaml:
schema:
$ref: '#/components/schemas/InstantiateNsiRequest'
TerminateNsiRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateNsiRequest'
application/yaml:
schema:
$ref: '#/components/schemas/TerminateNsiRequest'
NsiActionRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/NsiActionRequest'
application/yaml:
schema:
$ref: '#/components/schemas/NsiActionRequest'
# CreateNsiContentRequest:
# Substituted by InstantiateNsiRequest
CreateTokenRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTokenRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateTokenRequest'
CreateUserRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateUserRequest'
EditUserRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditUserRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditUserRequest'
CreateProjectRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateProjectRequest'
EditProjectRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditProjectRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditProjectRequest'
CreateRoleRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRoleRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateRoleRequest'
EditRoleRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditRoleRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditRoleRequest'
CreateVimRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVimRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateVimRequest'
EditVimRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditVimRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditVimRequest'
CreateWimRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWimRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateWimRequest'
EditWimRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditWimRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditWimRequest'
CreateSdnRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSdnRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateSdnRequest'
EditSdnRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditSdnRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditSdnRequest'
CreatePduRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePduRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreatePduRequest'
EditPduRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditPduRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditPduRequest'
CreateK8sClusterRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateK8sClusterRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateK8sClusterRequest'
EditK8sClusterRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditK8sClusterRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditK8sClusterRequest'
CreateK8sRepoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateK8sRepoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateK8sRepoRequest'
# END REQUEST BODIES
securitySchemes:
bearerAuth:
type: http
scheme: bearer