blob: 6c1b96601cb0076bd0c9f353175c811d7f48ee61 [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 Ns Config Templates
'/nsd/v1/ns_config_template':
get:
tags:
- "Ns packages"
summary: Query information about multiple Ns config templates
description: Query information about multiple Ns config templates
operationId: getNsconfigtemplates
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsConfigTemplateInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsConfigTemplateInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$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 config template
description: |
NS config templates are specific configuration templates
(instantiation parameters) to be applied to NS packages.
when they are instantiated.
Template consist of NSD ID, template name and instantiation parameters.
operationId: addNsconfigtemplate
requestBody:
$ref: '#/components/requestBodies/CreateNsConfigTemplateInfoRequest'
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_config_template/{nsconfigTemplateId}':
parameters:
- name: nsconfigTemplateId
in: path
required: true
description: Ns config template ID
schema:
type: string
get:
tags:
- "Ns packages"
summary: Read information about an individual Ns config template resource
description: Read information about an individual Ns config template resource
operationId: getNsconfigtemplate
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsConfigTemplateInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NsConfigTemplateInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$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 config template
description: Delete an individual NS config template
operationId: deleteNsconfigtemplate
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_config_template/{nsconfigTemplateId}/template_content':
parameters:
- name: nsconfigTemplateId
in: path
required: true
description: Ns config template ID
schema:
type: string
get:
tags:
- "Ns packages"
summary: Fetch the content of a Ns config template
description: Fetch the content of a Ns config template
operationId: getTemplatecontent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsConfigTemplateInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NsConfigTemplateInfo'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NsConfigTemplateInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NsConfigTemplateInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$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 the content of a Ns config template
description: |
Template name and instantiation parameters
can be modified.
operationId: updateTemplatecontent
requestBody:
$ref: '#/components/requestBodies/NsConfigTemplateInfoModifications'
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'
# END Ns Config Templates
# BEGIN VNF Packages
'/vnfpkgm/v1/vnf_packages':
get:
tags:
- "VNF packages"
summary: Query information about multiple VNF package resources
description: Query information about multiple VNF package resources
operationId: getVnfPkgs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVnfPkgInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVnfPkgInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "VNF packages"
summary: Create a new VNF package resource
description: Create a new VNF package resource
operationId: addVnfPkg
requestBody:
$ref: '#/components/requestBodies/CreateVnfPkgInfoRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages/{vnfPkgId}':
parameters:
- name: vnfPkgId
in: path
required: true
description: VNF Package ID
schema:
type: string
get:
tags:
- "VNF packages"
summary: Read information about an individual VNF package resource
description: Read information about an individual VNF package resource
operationId: getVnfPkg
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VnfPkgInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VnfPkgInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "VNF packages"
summary: Delete an individual VNF package resource
description: Delete an individual VNF package resource
operationId: deleteVnfPkg
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "VNF packages"
summary: Modify an individual VNF package resource
description: Modify an individual VNF package resource
operationId: updateVnfPkg
requestBody:
$ref: '#/components/requestBodies/VnfPkgInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd':
parameters:
- name: vnfPkgId
in: path
required: true
description: VNF Package ID
schema:
type: string
get:
tags:
- "VNF packages"
summary: Read VNFD of an on-boarded VNF package
description: Read VNFD of an on-boarded VNF package
operationId: getVnfPkgVnfd
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/VnfDescriptor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content':
parameters:
- name: vnfPkgId
in: path
required: true
description: VNF Package ID
schema:
type: string
get:
tags:
- "VNF packages"
summary: Fetch an on-boarded VNF package
description: Fetch an on-boarded VNF package
operationId: getVnfPkgContent
responses:
'200':
description: OK
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "VNF packages"
summary: Upload a VNF package by providing the content of the VNF package
description: Upload a VNF package by providing the content of the VNF package
operationId: uploadVnfPkgContent
requestBody:
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
responses:
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
parameters:
- name: vnfPkgId
in: path
required: true
description: VNF Package ID
schema:
type: string
- name: artifactPath
in: path
required: true
description: Artifact Path
schema:
type: string
get:
tags:
- "VNF packages"
summary: Fetch individual VNF package artifact
description: Fetch individual VNF package artifact
operationId: getVnfPkgArtifact
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: binary
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages_content':
post:
tags:
- "VNF packages"
summary: Upload a VNF package by providing the content of the VNF package
description: Upload a VNF package by providing the content of the VNF package
operationId: uploadVnfPkgsContent
requestBody:
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
get:
tags:
- "VNF packages"
summary: Query information about multiple VNF package resources
description: Query information about multiple VNF package resources
operationId: getVnfPkgsContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVnfPkgInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVnfPkgInfo'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/vnfpkgm/v1/vnf_packages_content/{packageContentId}':
parameters:
- name: packageContentId
in: path
required: true
description: VNF Package Content ID
schema:
type: string
get:
tags:
- "VNF packages"
summary: Read information about an individual VNF package resource
description: Read information about an individual VNF package resource
operationId: getVnfPkgsIdContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VnfPkgInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VnfPkgInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "VNF packages"
summary: Modify an individual VNF package resource
description: Modify an individual VNF package resource
operationId: updateVnfPkgsIdContent
requestBody:
$ref: '#/components/requestBodies/VnfPkgInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "VNF packages"
summary: Delete an individual VNF package resource
description: Delete an individual VNF package resource
operationId: deleteVnfPkgsIdContent
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END VNF Packages
# BEGIN NS Instances
'/nslcm/v1/ns_instances':
get:
tags:
- "NS instances"
summary: Query information about multiple NS instances
description: Query information about multiple NS isntances
operationId: getNSinstances
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsInstance'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NS instances"
summary: Create a new NS instance resource
description: Create a new NS instance resource
operationId: addNSinstance
requestBody:
$ref: '#/components/requestBodies/InstantiateNsRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
- name: vcaStatusRefresh
in: query
required: false
description: Set to true if vca status needs to be refreshed.
schema:
type: boolean
get:
tags:
- "NS instances"
summary: Read an individual NS instance resource
description: Read an individual NS instance resource
operationId: getNSinstance
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsInstance'
application/yaml:
schema:
$ref: '#/components/schemas/NsInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NS instances"
summary: Delete an individual NS instance resource
description: Delete an individual NS instance resource
operationId: deleteNSinstance
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Instantiate a NS
description: |
Instantiate a NS. The precondition is that the NS instance must have
been created and must be in NOT_INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NS Lifecycle Operation
Occurrence" resource for the request, and the NS instance state becomes
INSTANTIATED.
operationId: instantiateNSinstance
requestBody:
$ref: '#/components/requestBodies/InstantiateNsRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/scale':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Scale a NS instance
description: |
Scale a NS instance. The precondition is that the NS instance must have
been created and must be in INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NS Lifecycle Operation
Occurrence" resource for the request, and the NS instance state remains
INSTANTIATED.
operationId: scaleNSinstance
requestBody:
$ref: '#/components/requestBodies/ScaleNsRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/heal':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Heal a NS instance
description: |
Heal a NS instance. The precondition is that the NS instance must have
been created and must be in INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NS Lifecycle Operation
Occurrence" resource for the request, and the NS instance state remains
INSTANTIATED.
operationId: healNSinstance
requestBody:
$ref: '#/components/requestBodies/HealNsRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/migrate':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Migrate VNFs in a NS instance
description: |
Migrate the VNFs and VDUs in a NS instance. The precondition is
that the NS instance must have been created and must be in
INSTANTIATED state. As a result of the success of this operation,
the NFVO creates a "NS Lifecycle Operation Occurrence" resource
for the request, and the NS instance state remains INSTANTIATED.
operationId: migrateNSinstance
requestBody:
$ref: '#/components/requestBodies/NSinstanceMigrateRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Terminate a NS instance
description: |
Terminate a NS instance. The precondition is that the NS instance must have
been created and must be in INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NS Lifecycle Operation
Occurrence" resource for the request, and the NS instance state becomes
NOT_INSTANTIATED.
operationId: terminateNSinstance
requestBody:
# Request data is not required
$ref: '#/components/requestBodies/TerminateNsRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/action':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Execute an action on a NS instance
description: |
Execute an action on a NS instance.
The NS instance must have been created and must be in INSTANTIATED state.
operationId: actionOnNSinstance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NSinstanceActionRequest'
application/yaml:
schema:
$ref: '#/components/schemas/NSinstanceActionRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/update':
parameters:
- name: nsInstanceId
in: path
required: true
description: NS Instance ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Update a NS instance
description: |
Update a NS instance. The precondition is that the NS instance must have
been created and must be in INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NS Lifecycle Operation
Occurrence" resource for the request, and the NS instance state remains
INSTANTIATED.
operationId: updateNSinstance
requestBody:
$ref: '#/components/requestBodies/UpdateNsRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances_terminate':
post:
tags:
- "NS instances"
summary: Terminates NS instances
description: Terminates multiple NS instances.
operationId: MultiNsTerminateRequest
requestBody:
$ref: '#/components/requestBodies/MultiNsTerminateRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectIdList'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectIdList'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances_content':
get:
tags:
- "NS instances"
summary: Query information about multiple NS instances
description: Query information about multiple NS isntances
operationId: getNSinstancesContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsInstance'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NS instances"
summary: Create a new NS instance
description: Create a new NS instance
operationId: createNSinstanceContent
requestBody:
$ref: '#/components/requestBodies/InstantiateNsRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNSinstanceContentResponse'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNSinstanceContentResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances_content/{nsInstanceContentId}':
parameters:
- name: nsInstanceContentId
in: path
required: true
description: NS Instance Content ID
schema:
type: string
get:
tags:
- "NS instances"
summary: Read an individual NS instance resource
description: Read an individual NS instance resource
operationId: getNSinstanceContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsInstance'
application/yaml:
schema:
$ref: '#/components/schemas/NsInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NS instances"
summary: Delete an individual NS instance resource
description: Delete an individual NS instance resource
operationId: deleteNSinstanceContent
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_lcm_op_occs':
get:
tags:
- "NS instances"
summary: Query information about multiple NS LCM Operation Occurrences
description: Query information about multiple NS LCM Operation Occurrences
operationId: getNSLCMOpOccs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}':
parameters:
- name: nsLcmOpOccId
in: path
required: true
description: NS LCM Operation Occurrence ID
schema:
type: string
get:
tags:
- "NS instances"
summary: Query information about an individual NS LCM Operation Occurrence
description: Query information about an individual NS LCM Operation Occurrence
operationId: getNSLCMOpOcc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsLcmOpOcc'
application/yaml:
schema:
$ref: '#/components/schemas/NsLcmOpOcc'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel':
parameters:
- name: nsLcmOpOccId
in: path
required: true
description: NS LCM Operation Occurrence ID
schema:
type: string
post:
tags:
- "NS instances"
summary: Cancel an ongoing NS lifecycle management operation
description: Cancel an ongoing NS lifecycle management operation while it is being executed or rolled back
operationId: cancelNSLCMOpOcc
requestBody:
$ref: '#/components/requestBodies/CancelNSLCMOpOccRequest'
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/vnf_instances':
get:
tags:
- "NS instances"
summary: Query information about multiple VNF Instances
description: Query information about multiple VNF Instances
operationId: getVnfInstances
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/vnf_instances/{vnfInstanceId}':
parameters:
- name: vnfInstanceId
in: path
required: true
description: VNF Instance ID
schema:
type: string
get:
tags:
- "NS instances"
summary: Query information about an individual VNF Instance
description: Query information about an individual VNF Instance
operationId: getVnfInstance
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VnfInstanceInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VnfInstanceInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/subscriptions':
get:
tags:
- NS instances
summary: Query information about multiple NS instance subscription
description: Query information about multiple NS instance subscription
operationId: getNsSubcriptions
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
5XX:
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- NS instances
summary: Create a new subscription for the Network service
description: Create a new subscription for the Network service
operationId: addNsSubcriptions
requestBody:
$ref: '#/components/requestBodies/NslcmSubscriptionRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: object
content:
application/json:
schema:
$ref: '#/components/schemas/NslcmSubscriptionResponse'
application/yaml:
schema:
$ref: '#/components/schemas/NslcmSubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
5XX:
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/subscriptions/{nsSubscriptionsId}':
parameters:
- name: nsSubscriptionsId
in: path
required: true
description: Network Service Subscription ID
schema:
type: string
get:
tags:
- NS instances
summary: Read information about an individual Network Service Subscription
description: Read information about an individual Network Service Subscription
operationId: getNsSubcriptionId
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NslcmSubscriptionInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NslcmSubscriptionInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
5XX:
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- NS instances
summary: Delete an individual Network Service Subscription
description: Delete an individual Network Service Subscription
operationId: deleteNsSubcriptionId
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
5XX:
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NS Instances
# BEGIN Alarms
'/nsfm/v1/alarms':
get:
tags:
- "Alarms"
summary: Query information about multiple alarms
description: Query information about multiple alarms
operationId: getAlarms
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfAlarm'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfAlarm'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsfm/v1/alarms/{uuid}':
parameters:
- name: uuid
in: path
required: true
description: Alarm UUID
schema:
type: string
get:
tags:
- "Alarms"
summary: Read an individual Alarm
description: Read an individual Alarm
operationId: getAlarm
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Alarm'
application/yaml:
schema:
$ref: '#/components/schemas/Alarm'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Alarms"
summary: Modify the data of an individual Alarm
description: Modify the data of an individual Alarm
operationId: updateAlarm
requestBody:
$ref: '#/components/requestBodies/AlarmInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END Alarms
# BEGIN NetSlice Templates
'/nst/v1/netslice_templates':
get:
tags:
- "NetSlice templates"
summary: Query information about multiple NetSlice template resources
description: Query information about multiple NetSlice template resources
operationId: getNSTs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNstInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNstInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NetSlice templates"
summary: Create a new NetSlice template resource
description: Create a new NetSlice template resource
operationId: addNST
requestBody:
$ref: '#/components/requestBodies/CreateNstInfoRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates/{netsliceTemplateId}':
parameters:
- name: netsliceTemplateId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Read information about an individual NetSlice template resource
description: Read information about an individual NetSlice template resource
operationId: getNST
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NstInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NstInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NetSlice templates"
summary: Delete an individual NetSlice template resource
description: Delete an individual NetSlice template resource
operationId: deleteNST
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates/{netsliceTemplateId}/artifacts/{artifactPath}':
parameters:
- name: netsliceTemplateId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
- name: artifactPath
in: path
required: true
description: Artifact Path
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Fetch individual NetSlice Template artifact
description: Fetch individual NetSlice Template artifact
operationId: getNstArtifact
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: binary
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates/{netsliceTemplateId}/nst':
parameters:
- name: netsliceTemplateId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Read NST of an on-boarded NetSlice Template
description: Read NST of an on-boarded NetSlice Template
operationId: getNstNst
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/NetSliceTemplate'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates/{netsliceTemplateId}/nst_content':
parameters:
- name: netsliceTemplateId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Fetch the content of a NST
description: Fetch the content of a NST
operationId: getNSTcontent
responses:
'200':
description: OK
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "NetSlice templates"
summary: Upload the content of a NST
description: Upload the content of a NST
operationId: updateNSTcontent
requestBody:
$ref: '#/components/requestBodies/NetSlicePackage'
responses:
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates_content':
post:
tags:
- "NetSlice templates"
summary: Upload a NetSlice package by providing the content of the NetSlice package
description: Upload a NetSlice package by providing the content of the NetSlice package
operationId: uploadNstContent
requestBody:
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'202':
description: Accepted
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
get:
tags:
- "NetSlice templates"
summary: Query information about multiple NetSlice Template resources
description: Query information about multiple NetSlice Template resources
operationId: getNstContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNstInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNstInfo'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nst/v1/netslice_templates_content/{netsliceTemplateContentId}':
parameters:
- name: netsliceTemplateContentId
in: path
required: true
description: NetSlice Template ID
schema:
type: string
get:
tags:
- "NetSlice templates"
summary: Read information about an individual NetSlice Template resource
description: Read information about an individual NetSlice Template resource
operationId: getNstIdContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NstInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NstInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
put:
tags:
- "NetSlice templates"
summary: Modify an individual NetSlice Template resource
description: Modify an individual NetSlice Template resource
operationId: updateNstIdContent
requestBody:
$ref: '#/components/requestBodies/NstInfoModifications'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NetSlice templates"
summary: Delete an individual NetSlice Template resource
description: Delete an individual NetSlice Template resource
operationId: deleteNstIdContent
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NetSlice Templates
# BEGIN NetSlice Instances
'/nsilcm/v1/netslice_instances':
get:
tags:
- "NetSlice instances"
summary: Query information about multiple NetSlice instances
description: Query information about multiple NetSlice isntances
operationId: getNSIs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNetSliceInstance'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNetSliceInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NetSlice instances"
summary: Create a new NetSlice instance resource
description: Create a new NetSlice instance resource
operationId: addNSI
requestBody:
$ref: '#/components/requestBodies/InstantiateNsiRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances/{netsliceInstanceId}':
parameters:
- name: netsliceInstanceId
in: path
required: true
description: NetSlice Instance ID
schema:
type: string
get:
tags:
- "NetSlice instances"
summary: Read an individual NetSlice instance resource
description: Read an individual NetSlice instance resource
operationId: getNSI
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetSliceInstance'
application/yaml:
schema:
$ref: '#/components/schemas/NetSliceInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NetSlice instances"
summary: Delete an individual NetSlice instance resource
description: Delete an individual NetSlice instance resource
operationId: deleteNSI
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances/{netsliceInstanceId}/instantiate':
parameters:
- name: netsliceInstanceId
in: path
required: true
description: NetSlice Instance ID
schema:
type: string
post:
tags:
- "NetSlice instances"
summary: Instantiate a NetSlice
description: |
Instantiate a NetSlice. The precondition is that the NetSlice instance
must have been created and must be in NOT_INSTANTIATED state. As a result
of the success of this operation, the NFVO creates a "NetSlice Lifecycle
Operation Occurrence" resource for the request, and the NS instance state
becomes INSTANTIATED.
operationId: instantiateNSI
requestBody:
$ref: '#/components/requestBodies/InstantiateNsiRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NetSlice Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances/{netsliceInstanceId}/terminate':
parameters:
- name: netsliceInstanceId
in: path
required: true
description: NetSlice Instance ID
schema:
type: string
post:
tags:
- "NetSlice instances"
summary: Terminate a NetSlice instance
description: |
Terminate a NetSlice instance. The precondition is that the NetSlice instance
must have been created and must be in INSTANTIATED state. As a result of the
success of this operation, the NFVO creates a "NetSlice Lifecycle Operation
Occurrence" resource for the request, and the NetSlice instance state becomes
NOT_INSTANTIATED.
operationId: terminateNSI
requestBody:
# Request data is not required
$ref: '#/components/requestBodies/TerminateNsiRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NetSlice Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances/{netsliceInstanceId}/action':
parameters:
- name: netsliceInstanceId
in: path
required: true
description: NetSlice Instance ID
schema:
type: string
post:
tags:
- "NetSlice instances"
summary: Execute an action on a NetSlice instance
description: |
Execute an action on a NetSlice instance.
The NetSlice instance must have been created and must be in INSTANTIATED state.
operationId: actionOnNSI
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NsiActionRequest'
application/yaml:
schema:
$ref: '#/components/schemas/NsiActionRequest'
responses:
'202':
description: Accepted
headers:
Location:
description: |
It must point to the new "NS Lifecycle Operation Occurrence"
resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances_content':
get:
tags:
- "NetSlice instances"
summary: Query information about multiple NetSlice instances
description: Query information about multiple NetSlice isntances
operationId: getNSIsContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNetSliceInstance'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNetSliceInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "NetSlice instances"
summary: Create a new NetSlice instance
description: Create a new NetSlice instance
operationId: createNSIContent
requestBody:
$ref: '#/components/requestBodies/InstantiateNsiRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNsiContentResponse'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNsiContentResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/netslice_instances_content/{netsliceInstanceContentId}':
parameters:
- name: netsliceInstanceContentId
in: path
required: true
description: NetSlice Instance Content ID
schema:
type: string
get:
tags:
- "NetSlice instances"
summary: Read an individual NetSlice instance resource
description: Read an individual NetSlice instance resource
operationId: getNSIContent
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NetSliceInstance'
application/yaml:
schema:
$ref: '#/components/schemas/NetSliceInstance'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "NetSlice instances"
summary: Delete an individual NS instance resource
description: Delete an individual NS instance resource
operationId: deleteNSIContent
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/nsi_lcm_op_occs':
get:
tags:
- "NetSlice instances"
summary: Query information about multiple NetSlice LCM Operation Occurrences
description: Query information about multiple NetSlice LCM Operation Occurrences
operationId: getNsiLcmOpOccs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/nsilcm/v1/nsi_lcm_op_occs/{nsiLcmOpOccId}':
parameters:
- name: nsiLcmOpOccId
in: path
required: true
description: NetSlice LCM Operation Occurrence ID
schema:
type: string
get:
tags:
- "NetSlice instances"
summary: Query information about an individual NetSlice LCM Operation Occurrence
description: Query information about an individual NetSlice LCM Operation Occurrence
operationId: getNsiLcmOpOcc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsiLcmOpOcc'
application/yaml:
schema:
$ref: '#/components/schemas/NsiLcmOpOcc'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NetSlice Instances
# BEGIN NSPM
'/nspm/v1/pm_jobs/{pmJobId}/reports/{nsId}':
parameters:
- name: pmJobId
in: path
required: true
description: NS PM Job ID
schema:
type: string
- name: nsId
in: path
required: true
description: NS ID
schema:
type: string
get:
tags:
- "NS Performance Management"
summary: Query information about an individual NS PM Job Report
description: Query information about an individual NS PM Job Report
operationId: getNsPmJobReport
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NsPmJobReportInfo'
application/yaml:
schema:
$ref: '#/components/schemas/NsPmJobReportInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END NSPM
# BEGIN PDU
'/pdu/v1/pdu_descriptors':
get:
tags:
- "Physical Data Units (PDU)"
summary: Query information about multiple PDU Descriptors
description: Query information about multiple PDU Descriptors
operationId: getPDUs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfPduInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfPduInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Physical Data Units (PDU)"
summary: Create a new PDU
description: Create a new PDU Descriptor
operationId: createPDU
requestBody:
$ref: '#/components/requestBodies/CreatePduRequest'
responses:
'200':
description: OK
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/pdu/v1/pdu_descriptors/{pduDescriptorId}':
parameters:
- name: pduDescriptorId
in: path
required: true
description: PDU Descriptor ID
schema:
type: string
get:
tags:
- "Physical Data Units (PDU)"
summary: Query information about an individual PDU Descriptor
description: Query information about an individual PDU Descriptor
operationId: getPDU
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PduInfo'
application/yaml:
schema:
$ref: '#/components/schemas/PduInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Physical Data Units (PDU)"
summary: Modify an individual PDU Descriptor
description: Modify an individual PDU Descriptor
operationId: editPDU
requestBody:
$ref: '#/components/requestBodies/EditPduRequest'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Physical Data Units (PDU)"
summary: Delete an individual PDU Descriptor
description: Delete an individual PDU Descriptor
operationId: deletePDU
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END PDU
# BEGIN Admin
'/admin/v1/tokens':
get:
tags:
- "Authentication"
- "Admin"
summary: Query information about multiple Tokens
description: Query information about multiple Tokens
operationId: getTokens
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfTokenInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfTokenInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Authentication"
- "Admin"
summary: Request a new Token
description: Request a new Token
operationId: createToken
requestBody:
$ref: '#/components/requestBodies/CreateTokenRequest'
responses:
'200':
description: OK
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TokenInfo'
- $ref: '#/components/schemas/PasswordExpiryInfo'
application/yaml:
schema:
oneOf:
- $ref: '#/components/schemas/TokenInfo'
- $ref: '#/components/schemas/PasswordExpiryInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Authentication"
- "Admin"
summary: Delete the Token indicated in the Authorization Header
description: Delete the Token indicated in the Authorization Header
operationId: deleteAuthToken
responses:
'200':
description: OK
content:
application/json:
schema:
type: string
application/yaml:
schema:
type: string
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/tokens/{tokenId}':
parameters:
- name: tokenId
in: path
required: true
description: Token ID
schema:
type: string
get:
tags:
- "Authentication"
- "Admin"
summary: Query information about an individual Token
description: Query information about an individual Token
operationId: getToken
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TokenInfo'
application/yaml:
schema:
$ref: '#/components/schemas/TokenInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Authentication"
- "Admin"
summary: Delete the Token indicated as parameter
description: Delete the Token indicated as parameter
operationId: deleteToken
responses:
'200':
description: OK
content:
application/json:
schema:
type: string
application/yaml:
schema:
type: string
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/users':
get:
tags:
- "Identity"
- "Admin"
summary: Query information about multiple Users
description: Query information about multiple Users
operationId: getUsers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfUserInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfUserInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Identity"
- "Admin"
summary: Create a new User
description: Create a new User
operationId: createUser
requestBody:
$ref: '#/components/requestBodies/CreateUserRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/users/{userId}':
parameters:
- name: userId
in: path
required: true
description: User ID/Name
schema:
type: string
get:
tags:
- "Identity"
- "Admin"
summary: Query information about an individual User
description: Query information about an individual User
operationId: getUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserInfo'
application/yaml:
schema:
$ref: '#/components/schemas/UserInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Identity"
- "Admin"
summary: Modify a User
description: Modify a User
operationId: editUser
requestBody:
$ref: '#/components/requestBodies/EditUserRequest'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Identity"
- "Admin"
summary: Delete a User
description: Delete a User
operationId: deleteUser
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/projects':
get:
tags:
- "Identity"
- "Admin"
summary: Query information about multiple Projects
description: Query information about multiple Projects
operationId: getProjects
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfProjectInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfProjectInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Identity"
- "Admin"
summary: Create a new Project
description: Create a new Project
operationId: createProject
requestBody:
$ref: '#/components/requestBodies/CreateProjectRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/projects/{projectId}':
parameters:
- name: projectId
in: path
required: true
description: Project ID/Name
schema:
type: string
get:
tags:
- "Identity"
- "Admin"
summary: Query information about an individual Project
description: Query information about an individual Project
operationId: getProject
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ProjectInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Identity"
- "Admin"
summary: Modify a Project
description: Modify a Project
operationId: editProject
requestBody:
$ref: '#/components/requestBodies/EditProjectRequest'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Identity"
- "Admin"
summary: Delete a Project
description: Delete a Project
operationId: deleteProject
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/roles':
get:
tags:
- "Identity"
- "Admin"
summary: Query information about multiple Roles
description: Query information about multiple Roles
operationId: getRoles
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfRoleInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfRoleInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Identity"
- "Admin"
summary: Create a new Role
description: Create a new Role
operationId: createRole
requestBody:
$ref: '#/components/requestBodies/CreateRoleRequest'
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/roles/{roleId}':
parameters:
- name: roleId
in: path
required: true
description: Role ID/Name
schema:
type: string
get:
tags:
- "Identity"
- "Admin"
summary: Query information about an individual Role
description: Query information about an individual Role
operationId: getRole
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RoleInfo'
application/yaml:
schema:
$ref: '#/components/schemas/RoleInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Identity"
- "Admin"
summary: Modify a Role
description: Modify a Role
operationId: editRole
requestBody:
$ref: '#/components/requestBodies/EditRoleRequest'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Identity"
- "Admin"
summary: Delete a Role
description: Delete a Role
operationId: deleteRole
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vims':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple VIMs
description: Query information about multiple VIMs
operationId: getVIMs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new VIM
description: Create a new VIM
operationId: createVIM
requestBody:
$ref: '#/components/requestBodies/CreateVimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vims/{vimId}':
parameters:
- name: vimId
in: path
required: true
description: VIM ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual VIM
description: Query information about an individual VIM
operationId: getVIM
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a VIM
description: Modify a VIM
operationId: editVIM
requestBody:
$ref: '#/components/requestBodies/EditVimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a VIM
description: Delete a VIM
operationId: deleteVIM
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vim_accounts':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple VIM Accounts
description: Query information about multiple VIM Accounts
operationId: getVimAccounts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new VIM Account
description: Create a new VIM Account
operationId: createVimAccount
requestBody:
$ref: '#/components/requestBodies/CreateVimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vim_accounts/{vimAccountId}':
parameters:
- name: vimAccountId
in: path
required: true
description: VIM Account ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual VIM Account
description: Query information about an individual VIM Account
operationId: getVimAccount
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a VIM Account
description: Modify a VIM Account
operationId: editVimAccount
requestBody:
$ref: '#/components/requestBodies/EditVimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a VIM Account
description: Delete a VIM Account
operationId: deleteVimAccount
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/wim_accounts':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple WIM Accounts
description: Query information about multiple WIM Accounts
operationId: getWimAccounts
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfWimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfWimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new WIM Account
description: Create a new WIM Account
operationId: createWimAccount
requestBody:
$ref: '#/components/requestBodies/CreateWimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/wim_accounts/{wimAccountId}':
parameters:
- name: wimAccountId
in: path
required: true
description: WIM Account ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual WIM Account
description: Query information about an individual WIM Account
operationId: getWimAccount
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WimInfo'
application/yaml:
schema:
$ref: '#/components/schemas/WimInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a WIM Account
description: Modify a WIM Account
operationId: editWimAccount
requestBody:
$ref: '#/components/requestBodies/EditWimRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a WIM Account
description: Delete a WIM Account
operationId: deleteWimAccount
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/sdns':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple SDNs
description: Query information about multiple SDNs
operationId: getSDNs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfSdnInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfSdnInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new SDN
description: Create a new SDN
operationId: createSDN
requestBody:
$ref: '#/components/requestBodies/CreateSdnRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/sdns/{sdnId}':
parameters:
- name: sdnId
in: path
required: true
description: SDN ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual SDN
description: Query information about an individual SDN
operationId: getSDN
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SdnInfo'
application/yaml:
schema:
$ref: '#/components/schemas/SdnInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a SDN
description: Modify a SDN
operationId: editSDN
requestBody:
$ref: '#/components/requestBodies/EditSdnRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a SDN
description: Delete a SDN
operationId: deleteSDN
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/k8sclusters':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple K8s Clusters
description: Query information about multiple K8s Clusters
operationId: getK8sClusters
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfK8sClusterInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfK8sClusterInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new K8s Cluster
description: Create a new K8s Cluster
operationId: createK8sCluster
requestBody:
$ref: '#/components/requestBodies/CreateK8sClusterRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/k8sclusters/{k8sClusterId}':
parameters:
- name: k8sClusterId
in: path
required: true
description: K8s Cluster ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual K8s Cluster
description: Query information about an individual K8s Cluster
operationId: getK8sCluster
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/K8sClusterInfo'
application/yaml:
schema:
$ref: '#/components/schemas/K8sClusterInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a K8s Cluster
description: Modify a K8s Cluster
operationId: editK8sCluster
requestBody:
$ref: '#/components/requestBodies/EditK8sClusterRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a K8s Cluster
description: Delete a K8s Cluster
operationId: deleteK8sCluster
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vca':
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about multiple VCAs
description: Query information about multiple VCAs
operationId: getVcas
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfVcaInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfVcaInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Infrastructure"
- "Admin"
summary: Create a new VCA
description: Create a new VCA
operationId: createVca
requestBody:
$ref: '#/components/requestBodies/CreateVcaRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/vca/{vcaId}':
parameters:
- name: vcaId
in: path
required: true
description: VCA ID
schema:
type: string
format: uuid
get:
tags:
- "Infrastructure"
- "Admin"
summary: Query information about an individual VCA
description: Query information about an individual VCA
operationId: getVca
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VcaInfo'
application/yaml:
schema:
$ref: '#/components/schemas/VcaInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- "Infrastructure"
- "Admin"
summary: Modify a VCA
description: Modify a VCA
operationId: editVca
requestBody:
$ref: '#/components/requestBodies/EditVcaRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OpId'
application/yaml:
schema:
$ref: '#/components/schemas/OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Infrastructure"
- "Admin"
summary: Delete a VCA
description: Delete a VCA
operationId: deleteVca
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/k8srepos':
get:
tags:
- "Repositories"
- "Admin"
summary: Query information about multiple K8s Repos
description: Query information about multiple K8s Repos
operationId: getK8sRepos
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfK8sRepoInfo'
application/yaml:
schema:
$ref: '#/components/schemas/ArrayOfK8sRepoInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- "Repositories"
- "Admin"
summary: Create a new K8s Repo
description: Create a new K8s Repo
operationId: createK8sRepo
requestBody:
$ref: '#/components/requestBodies/CreateK8sRepoRequest'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
application/yaml:
schema:
$ref: '#/components/schemas/ObjectId_plus_OpId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
'/admin/v1/k8srepos/{k8sRepoId}':
parameters:
- name: k8sRepoId
in: path
required: true
description: K8s Repo ID
schema:
type: string
format: uuid
get:
tags:
- "Repositories"
- "Admin"
summary: Query information about an individual K8s Repo
description: Query information about an individual K8s Repo
operationId: getK8sRepo
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/K8sRepoInfo'
application/yaml:
schema:
$ref: '#/components/schemas/K8sRepoInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- "Repositories"
- "Admin"
summary: Delete a K8s Repo
description: Delete a K8s Repo
operationId: deleteK8sRepo
responses:
'202':
description: Accepted
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'406':
$ref: '#/components/responses/NotAcceptable'
'409':
$ref: '#/components/responses/Conflict'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
'5XX':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
# END Admin
externalDocs:
description: Find out more about OSM
url: 'https://osm.etsi.org/docs/user-guide/'
components:
responses:
BadRequest:
description: Bad request. The server cannot process the request due to a client error.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
Unauthorized:
description: Authorization information is missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
Forbidden:
description: Not enough permissions to do this operation.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
NotFound:
description: The specified resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
MethodNotAllowed:
description: This method is not supported for the requested resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
NotAcceptable:
description: The requested resource content cannot match the Accept headers sent in the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
Conflict:
description: The operation cannot be executed currently, due to a conflict with the state of the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
UnprocessableEntity:
description: The request was well-formed but was unable to be followed due to semantic errors.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
InternalServerError:
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
ServiceUnavailable:
description: Service temporarily unavailable.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
UnexpectedError:
description: Unexpected error.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
VnfDescriptor:
description: VNF Descriptor (plaintext)
content:
text/plain:
schema:
$ref: '#/components/schemas/VnfDescriptor'
VnfPackage:
description: VNF Package (compressed)
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
NsDescriptor:
description: NS Descriptor (plaintext)
content:
text/plain:
schema:
$ref: '#/components/schemas/NsDescriptor'
NsPackage:
description: NS Package (compressed)
content:
application/zip:
schema:
$ref: '#/components/schemas/NsPackage'
NetSliceTemplate:
description: NetSlice Template (plaintext)
content:
text/plain:
schema:
$ref: '#/components/schemas/NetSliceTemplate'
NetSlicePackage:
description: NetSlice Package (compressed)
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
NslcmSubscriptionResponse:
description: NslcmSubscriptionResponse
content:
application/json:
schema:
$ref: '#/components/schemas/NslcmSubscriptionResponse'
application/yaml:
schema:
$ref: '#/components/schemas/NslcmSubscriptionResponse'
# END RESPONSES
schemas:
ObjectId:
type: object
properties:
id:
type: string
format: uuid
ObjectIdList:
type: object
properties:
ns_ids:
type: array
items:
type: string
format: uuid
KeyValuePairs:
# A free list of key:value pairs
type: object
additionalProperties: true
NsDescriptor:
type: string
format: yaml|json
NsPackage:
type: string
format: binary
CreateNsdInfoRequest:
# A free list of key:value pairs
type: object
additionalProperties: true
NsdInfoModifications:
description: |
NS Descriptor Information
Only generic fields (id, name, description) are described
For a full specification of the NS Descriptor see:
http://osm-download.etsi.org/ftp/osm-doc/nsd.html
type: object
properties:
id:
description: NSD Identifier
type: string
name:
description: NSD Name
type: string
description:
description: NSD Description
type: string
AlarmInfoModifications:
description: |
Alarm Information
type: object
properties:
id:
description: UUID
type: string
is_enable:
description: To enable/disable the alarm.
type: string
threshold:
description: Threshold value of the Alarm
type: string
NsdInfo:
description: |
NS Descriptor Information
Only generic fields (_id, id, name, description) are described
For a full specification of the NS Descriptor see:
http://osm-download.etsi.org/ftp/osm-doc/nsd.html
type: object
properties:
_id:
description: |
Identifier of the onboarded individual NS descriptor
resource. This identifier is allocated by the NFVO.
type: string
format: uuid
id:
description: |
This identifier, which is allocated by the NSD
designer, identifies the NSD in a globally unique
way. It is copied from the NSD content and shall be
present after the NSD content is on-boarded.
type: string
name:
description: |
Name of the onboarded NSD. This information is
copied from the NSD content and shall be present
after the NSD content is on-boarded.
type: string
description:
description: |
Description of the onboarded NSD.
This information is copied from the NSD content.
type: string
required:
- _id
- id
ArrayOfNsdInfo:
type: array
items:
$ref: '#/components/schemas/NsdInfo'
ProblemDetails:
type: object
properties:
type:
type: string
format: uri
title:
type: string
status:
type: integer
detail:
type: string
instance:
type: string
format: uri
additionalProperties: true
required:
- status
- detail
CreateNsConfigTemplateInfoRequest:
type: object
properties:
name:
description: Ns Config Template name
type: string
nsdId:
description: |
ID of NS descriptor to which
template is associated
type: string
config:
description: Instantiation parameters
type: object
additionalProperties: false
required:
- name
- nsdId
- config
additionalProperties: false
NsConfigTemplateInfo:
description: |
Ns Config template information includes NSD ID, name
and instantiation parameters of vld, vnf, additionParamForVnf,
additionalParamsForNs.
type: object
properties:
_id:
description: |
Identifier of the inboarded Ns config template resource.
type: string
format: uuid
name:
description: |
Name of the onboarded Ns config template. This information
is given by the user and it is unique.
type: string
nsdId:
description: |
Identifier of the NS descriptor, which is associated
with Ns config template
type: string
config:
description: |
It includes instantiation parameters such as
vld, vnf, additionalParamforVnf.
type: object
ArrayOfNsConfigTemplateInfo:
type: array
items:
$ref: '#/components/schemas/NsConfigTemplateInfo'
NsConfigTemplateInfoModifications:
description: |
Ns Config Template information
It includes name of the template and instantiation parameters.
Ns descriptor id cannot be edited.
type: object
properties:
name:
description: |
Name of the template
type: string
config:
description: |
Instantiation parameters such as vld, vnf, additionalParamsForVnf
can be edit.
type: object
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
nsConfigTemplateId:
description: |
Identifier of the Ns config template which is selected
while instantiation
type: string
format: uuid
lcmOperationType:
type: string
nsInstanceId:
type: string
format: uuid
netsliceInstanceId:
type: string
format: uuid
nsDescription:
type: string
nullable: true
wimAccountId:
oneOf:
- type: string
- type: boolean
nullable: true
additionalParamsForNs:
type: object
additionalProperties: true
additionalParamsForVnf: &additionalparamsforvnf
type: array
items:
type: object
properties:
member-vnf-index:
type: string
additionalParams:
type: object
additionalProperties: true
k8s-namespace:
type: string
description: |
use this namespace for all the KDU deployed in this VNF
(if any). By default it is used the id of the project
additionalParamsForVdu:
type: array
items:
type: object
properties:
vdu_id:
type: string
additionalParams:
type: object
additionalProperties: true
required:
- vdu_id
- additionalParams
additionalProperties: false
additionalParamsForKdu:
type: array
items:
type: object
properties:
kdu_name:
type: string
k8s-namespace:
type: string
description: use this namespace for this KDU
kdu_model:
type: string
additionalParams:
type: object
additionalProperties: true
required:
- kdu_name
minProperties: 2
additionalProperties: false
required:
- member-vnf-index
minProperties: 2
additionalProperties: false
ssh_keys:
type: array
items:
type: string
nsr_id:
type: string
format: uuid
vduImage:
type: string
placement-engine:
type: string
description: |
To compute automatically the target VIM for each VNF based on
constrains, e.g. latency. Currently only 'PLA' is supported
placement-constraints:
type: object
additionalProperties: true
k8s-namespace:
type: string
timeout_ns_deploy:
type: integer
vnf:
type: array
items:
type: object
properties:
member-vnf-index:
type: string
vimAccountId:
type: string
format: uuid
vdu:
type: array
items:
type: object
properties:
id:
type: string
volume:
type: array
items:
type: object
properties:
name:
type: string
vim-volume-id:
type: string
required:
- name
- vim-volume-id
additionalProperties: false
minItems: 1
interface:
type: array
items:
type: object
properties:
name:
type: string
ip-address:
type: string
format: ipv4
mac-address:
type: string
format: mac_address
floating-ip-required:
type: boolean
required:
- name
additionalProperties: false
minItems: 1
required:
- id
additionalProperties: false
minItems: 1
internal-vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
type: string
vim-network-id:
type: string
ip-profile:
type: object
properties:
ip-version:
type: string
enum:
- ipv4
- ipv6
subnet-address:
type: string
format: ip_prefix
nullable: true
gateway-address:
type: string
format: ipv4
nullable: true
dns-server:
type: array
items:
type: object
properties:
address:
type: string
format: ipv4
required:
- address
additionalProperties: false
minItems: 1
nullable: true
dhcp-params:
type: object
properties:
enabled:
type: boolean
count:
type: integer
minimum: 1
start-address:
type: string
format: ipv4
additionalProperties: false
nullable: true
additionalProperties: false
provider-network:
type: object
properties:
physical-network:
type: string
segmentation-id:
type: string
network-type:
type: string
sdn-ports:
description: |
connect additional ports to the created underlay SDN connectivity.
Normally for external connectivy.
type: array
items:
type: object
properties:
switch_id:
type: string
switch_port:
type: string
mac_address:
type: string
format: mac_address
vlan:
type: integer
additionalProperties: true
required:
- switch_id
- switch_port
minItems: 1
additionalProperties: false
internal-connection-point:
type: array
items:
type: object
properties:
id-ref:
type: string
ip-address:
type: string
format: ipv4
required:
- id-ref
minProperties: 2
additionalProperties: False
minItems: 1
required:
- name
minProperties: 2
additionalProperties: false
minItems: 1
required:
- member-vnf-index
minProperties: 2
additionalProperties: false
minItems: 1
vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
oneOf:
- type: string
- type: object
vim-network-id:
oneOf:
- type: string
- type: object
ns-net:
type: object
additionalProperties: true
wimAccountId:
oneOf:
- type: string
- type: boolean
nullable: true
ip-profile:
type: object
additionalProperties: true
provider-network:
type: object
properties:
physical-network:
type: string
segmentation-id:
type: string
additionalProperties: false
vnfd-connection-point-ref:
type: array
items:
type: object
properties:
member-vnf-index-ref:
type: string
vnfd-connection-point-ref:
type: string
ip-address:
type: string
format: ipv4
required:
- member-vnf-index-ref
- vnfd-connection-point-ref
minProperties: 3
additionalProperties: false
minItems: 1
required:
- name
additionalProperties: false
minItems: 1
required:
- nsName
- nsdId
- vimAccountId
additionalProperties: false
ScaleNsRequest:
type: object
properties:
scaleType:
type: string
enum:
- SCALE_VNF
timeout_ns_scale:
description: timeout for the scale operation
type: integer
scaleVnfData:
type: object
properties:
scaleVnfType:
type: string
enum:
- SCALE_IN
- SCALE_OUT
scaleByStepData:
type: object
properties:
scaling-group-descriptor:
type: string
scaling-policy:
type: string
member-vnf-index:
type: string
required:
- scaling-group-descriptor
- member-vnf-index
additionalProperties: false
required:
- scaleVnfType
- scaleByStepData
additionalProperties: false
required:
- scaleType
- scaleVnfData
additionalProperties: false
HealNsRequest:
description: >
This type represents request parameters for the "Heal NS" operation. This operation supports the healing of an NS
instance by healing one or more of the VNF that are part of this NS.
type: object
properties:
timeout_ns_heal:
description: timeout for the heal operation in seconds
type: integer
healVnfData:
description: >
List of VNF to be healed, together with the information needed to heal each.
type: array
items:
$ref: "#/components/schemas/HealVnfData"
required:
- healVnfData
HealVnfData:
description: >
This type represents the information to heal a VNF that is part of an NS.
type: object
required:
- vnfInstanceId
properties:
vnfInstanceId:
description: >
Identifies the VNF instance, part of the NS, requiring a
healing action.
type: string
format: uuid
cause:
description: >
Indicates the reason why a healing procedure is required.
type: string
additionalParams:
description: >
Additional parameters passed by the NFVO as input to
the healing process, specific to the VNF being healed.
type: object
properties:
run-day1:
description: >
Flag to indicate whether or not to run day1 primitives for the VNF (default: false).
type: boolean
default: false
vdu:
description: >
List of VDU to be healed, together with the information needed to heal each.
type: array
items:
$ref: "#/components/schemas/HealVduData"
HealVduData:
description: >
This type represents the information to heal a VDU that is part of a VNF.
type: object
required:
- vdu-id
properties:
vdu-id:
description: >
Identifies the VDU id, part of the VNF, requiring a healing action.
type: string
format: uuid
count-index:
description: >
Indicates the VDU number when the VDU is part of a scale-group.
type: integer
minimum: 0
run-day1:
description: >
Flag to indicate whether or not to run day1 primitives for the VDU (default: false).
type: boolean
default: false
NSinstanceMigrateRequest:
description: >
This type represents request parameters for the "Migrate" operation. This operation supports the migration of an NS
instance by migrating one or more of the VDUs that are part of this NS.
type: object
properties:
vnfInstanceId:
type: string
migrateToHost:
type: string
vdu:
type: object
properties:
vduId:
type: string
vduCountIndex:
type: integer
required:
- vduId
required:
- vnfInstanceId
additionalProperties: false
TerminateNsRequest:
type: object
properties:
timeout_ns_terminate:
description: timeout for terminate operation
type: integer
autoremove:
description: remove network service if termination end without error
type: boolean
skip_terminate_primitives:
description: Do not execute network service termination primitives
type: boolean
additionalProperties: false
ArrayOfNsInstance:
type: array
items:
$ref: '#/components/schemas/NsInstance'
NSinstanceActionRequest:
type: object
properties:
primitive:
type: string
description: |
name of the primitive in the 'config-descriptor'. If the target is
a kdu it can be also 'status', 'rollback' or 'upgrade'
primitive_params:
description: parameters of this primitive
$ref: '#/components/schemas/KeyValuePairs'
member_vnf_index:
type: string
description: provide if the target action is for a vnf, vdu or kdu
vdu_id:
type: string
description: provide if the target action is for a vdu
kdu_name:
type: string
description: provide if the target action is for a kdu
vdu_count_index:
type: integer
timeout_ns_action:
description: timeout for the day 1/2 operation
type: integer
required:
- primitive
- primitive_params
additionalProperties: false
UpdateNsRequest:
description: >
This type represents request parameters for the "Update NS" operation. This operation supports the update of an NS
instance by updating one or more of the VNFs that are part of this NS.
type: object
properties:
updateType:
type: string
enum:
- CHANGE_VNFPKG
- REMOVE_VNF
- MODIFY_VNF_INFORMATION
- OPERATE_VNF
- VERTICAL_SCALE
changeVnfPackageData:
type: object
properties:
vnfInstanceId:
type: string
vnfdId:
type: string
required:
- vnfInstanceId
- vnfdId
removeVnfInstanceId:
type: string
modifyVnfInfoData:
type: object
properties:
vnfInstanceId:
type: string
vnfdId:
type: string
required:
- vnfInstanceId
- vnfdId
operateVnfData:
type: object
properties:
vnfInstanceId:
type: string
changeStateTo:
type: string
additionalParam:
type: object
properties:
run-day1:
type: boolean
vdu_id:
type: string
count-index:
type: number
required:
- vdu_id
- count-index
required:
- vnfInstanceId
- changeStateTo
additionalProperties: false
verticalScaleVnf:
type: object
properties:
vnfInstanceId:
type: string
vnfdId:
type: string
vduId:
type: string
countIndex:
type: number
required:
- vnfInstanceId
- vnfdId
- vduId
required:
- updateType
additionalProperties: false
MultiNsTerminateRequest:
type: object
properties:
ns_ids:
description: List of Ns instance Ids to be deleted
type: array
items:
type: string
format: uuid
autoremove:
description: remove network service if termination end without error
type: boolean
additionalProperties: false
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNSinstanceContentResponse:
type: object
properties:
id:
type: string
format: uuid
nslcmop_id:
type: string
format: uuid
NsLcmOpOcc:
type: object
properties:
_id:
type: string
format: uuid
id:
type: string
format: uuid
lcmOperationType:
type: string
nsInstanceId:
type: string
format: uuid
isAutomaticInvocation:
type: boolean
isCancelPending:
type: boolean
startTime:
type: number
format: float
statusEnteredTime:
type: number
format: float
operationParams:
type: object
properties:
nsName:
type: string
nsdId:
type: string
format: uuid
vimAccountId:
type: string
format: uuid
nsInstanceId:
type: string
format: uuid
lcmOperationType:
type: string
operationState:
type: string
detailed-status:
type: string
links:
type: object
properties:
self:
type: string
format: path # uri?
nsInstance:
type: string
format: path # uri?
ArrayOfNsLcmOpOcc:
type: array
items:
$ref: '#/components/schemas/NsLcmOpOcc'
VnfInstanceInfo:
description: |
VNF Instance Information
Only generic fields (_id, id) are described
For a full specification of the VNF Instance see:
http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
type: object
properties:
_id:
type: string
format: uuid
id:
type: string
format: uuid
ArrayOfVnfInstanceInfo:
type: array
items:
$ref: '#/components/schemas/VnfInstanceInfo'
NstInfo:
description: |
NetSlice Template Information
Only generic fields (_id, id, name) are described
For a full specification of the NetSlice Template see:
http://osm-download.etsi.org/ftp/osm-doc/nst.html
type: object
properties:
_id:
description: NetSlice Template Identifier
type: string
format: uuid
id:
description: Human readable NetSlice Template Identifier
type: string
name:
description: Human readable name of the NetSlice Template
type: string
ArrayOfNstInfo:
type: array
items:
$ref: '#/components/schemas/NstInfo'
CreateNstInfoRequest:
# A free list of key:value pairs
type: object
additionalProperties: true
NetSliceTemplate:
type: string
format: yaml|json
NetSlicePackage:
type: string
format: binary
NstInfoModifications:
description: |
NetSlice Template Information
Only generic fields (id, name) are described
For a full specification of the NetSlice Template see:
http://osm-download.etsi.org/ftp/osm-doc/nst.html
type: object
properties:
id:
description: NST Identifier
type: string
name:
description: NST Name
type: string
NetSliceInstance:
description: |
NetSlice Instance Information
Only generic fields (_id, id, name, description) are described
For a full specification of the NetSlice Instance see:
http://osm-download.etsi.org/ftp/osm-doc/nsi.html
type: object
properties:
_id:
description: Identifier of the NetSlice instance.
type: string
format: uuid
id:
description: Identifier of the NetSlice instance.
type: string
format: uuid
name:
description: Human readable name of the NetSlice instance.
type: string
description:
description: Human readable description of the NetSlice instance.
type: string
required:
- _id
- id
- name
ArrayOfNetSliceInstance:
type: array
items:
$ref: '#/components/schemas/NetSliceInstance'
Alarm:
description: |
Alarm Information
type: object
properties:
_id:
description: Identifier of the Alarm.
type: string
format: uuid
id:
description: Identifier of the Alarm.
type: string
format: uuid
metric:
description: Alarm metric.
type: string
threshold:
description: Threshold value of the Alarm.
type: number
format: float
operation:
description: Operation to be applied.
type: string
action:
description: Action to be taken.
type: string
status:
description: Current status of the alarm.
type: string
required:
- _id
- id
- metric
- threshold
- operation
ArrayOfAlarm:
type: array
items:
$ref: '#/components/schemas/Alarm'
# CreateNsiRequest:
# Substituted by InstantiateNsiRequest
InstantiateNsiRequest:
type: object
properties:
nsiName:
description: |
Human-readable name of the NetSlice instance to be created.
type: string
nstId:
description: |
Identifier of the NST that defines the NetSlice instance to be created.
type: string
format: uuid
vimAccountId:
description: |
Identifier of the VIM Account where the NetSlice instance shall be created.
type: string
format: uuid
lcmOperationType:
type: string
netsliceInstanceId:
type: string
format: uuid
nsiDescription:
type: string
nullable: true
ssh_keys:
type: string
nsi_id:
type: string
format: uuid
additionalParamsForNsi:
type: object
additionalProperties: true
netslice-subnet:
type: array
items:
type: object
properties:
id:
type: string
nsName:
type: string
nsdId:
type: string
format: uuid
vimAccountId:
type: string
format: uuid
lcmOperationType:
type: string
nsInstanceId:
type: string
format: uuid
netsliceInstanceId:
type: string
format: uuid
nsDescription:
type: string
nullable: true
wimAccountId:
oneOf:
- type: string
- type: boolean
nullable: true
additionalParamsForNs:
type: object
additionalProperties: true
additionalParamsForVnf: *additionalparamsforvnf
ssh_keys:
type: array
items:
type: string
nsr_id:
type: string
format: uuid
vduImage:
type: string
vnf:
type: array
items:
type: object
properties:
member-vnf-index:
type: string
vimAccountId:
type: string
format: uuid
vdu:
type: array
items:
type: object
properties:
id:
type: string
volume:
type: array
items:
type: object
properties:
name:
type: string
vim-volume-id:
type: string
required:
- name
- vim-volume-id
additionalProperties: false
minItems: 1
interface:
type: array
items:
type: object
properties:
name:
type: string
ip-address:
type: string
format: ipv4
mac-address:
type: string
format: mac_address
floating-ip-required:
type: boolean
required:
- name
additionalProperties: false
minItems: 1
required:
- id
additionalProperties: false
minItems: 1
internal-vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
type: string
vim-network-id:
type: string
ip-profile:
type: object
properties:
ip-version:
type: string
enum:
- ipv4
- ipv6
subnet-address:
type: string
format: ip_prefix
nullable: true
gateway-address:
type: string
format: ipv4
nullable: true
dns-server:
type: array
items:
type: object
properties:
address:
type: string
format: ipv4
required:
- address
additionalProperties: false
minItems: 1
nullable: true
dhcp-params:
type: object
properties:
enabled:
type: boolean
count:
type: integer
minimum: 1
start-address:
type: string
format: ipv4
additionalProperties: false
nullable: true
additionalProperties: false
provider-network:
type: object
properties:
physical-network:
type: string
segmentation-id:
type: string
additionalProperties: false
internal-connection-point:
type: array
items:
type: object
properties:
id-ref:
type: string
ip-address:
type: string
format: ipv4
required:
- id-ref
minProperties: 2
additionalProperties: False
minItems: 1
required:
- name
minProperties: 2
additionalProperties: false
minItems: 1
required:
- member-vnf-index
minProperties: 2
additionalProperties: false
minItems: 1
vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
oneOf:
- type: string
- type: object
vim-network-id:
oneOf:
- type: string
- type: object
ns-net:
type: object
additionalProperties: true
wimAccountId:
oneOf:
- type: string
- type: boolean
nullable: true
ip-profile:
type: object
additionalProperties: true
provider-network:
type: object
properties:
physical-network:
type: string
segmentation-id:
type: string
additionalProperties: false
vnfd-connection-point-ref:
type: array
items:
type: object
properties:
member-vnf-index-ref:
type: string
vnfd-connection-point-ref:
type: string
ip-address:
type: string
format: ipv4
required:
- member-vnf-index-ref
- vnfd-connection-point-ref
minProperties: 3
additionalProperties: false
minItems: 1
required:
- name
additionalProperties: false
minItems: 1
additionalProperties: false
minItems: 1
netslice-vld:
type: array
items:
type: object
properties:
name:
type: string
vim-network-name:
oneOf:
- type: string
- type: object
vim-network-id:
oneOf:
- type: string
- type: object
ip-profile:
type: object
additionalProperties: true
required:
- name
additionalProperties: false
minItems: 1
required:
- nsiName
- nstId
- vimAccountId
additionalProperties: false
TerminateNsiRequest:
type: object
properties:
terminationTime:
description: |
Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
automatically at this timestamp. Cardinality "0" indicates the NSI termination
takes place immediately.
type: string
format: date-time
NsiActionRequest:
type: object
properties:
primitive:
type: string
primitive_params:
$ref: '#/components/schemas/KeyValuePairs'
lcmOperationType:
type: string
netsliceInstanceId:
type: string
format: uuid
required:
- primitive
- primitive_params
# CreateNsiContentRequest:
# Substituted by InstantiateNsiRequest
CreateNsiContentResponse:
type: object
properties:
id:
type: string
format: uuid
nsilcmop_id:
type: string
format: uuid
NsiLcmOpOcc:
type: object
properties:
_id:
type: string
format: uuid
id:
type: string
format: uuid
lcmOperationType:
type: string
netsliceInstanceId:
type: string
format: uuid
isAutomaticInvocation:
type: boolean
isCancelPending:
type: boolean
startTime:
type: number
format: float
statusEnteredTime:
type: number
format: float
operationParams:
type: object
properties:
nsiName:
type: string
nstId:
type: string
format: uuid
vimAccountId:
type: string
format: uuid
netsliceInstanceId:
type: string
format: uuid
lcmOperationType:
type: string
nslcmops_ids:
type: array
items:
type: string
format: uuid
operationState:
type: string
detailed-status:
type: string
links:
type: object
properties:
self:
type: string
format: path # uri?
netsliceInstanceId:
type: string
format: path # uri?
ArrayOfNsiLcmOpOcc:
type: array
items:
$ref: '#/components/schemas/NsiLcmOpOcc'
TokenInfo:
type: object
properties:
_id:
type: string
id:
type: string
admin:
type: boolean
admin_show:
type: boolean
project_id:
type: string
format: uuid
user_id:
type: string
format: uuid
project_name:
type: string
username:
type: string
issued_at:
type: number
format: float
user_show:
type: boolean
last_login:
type: number
format: float
login_count:
type: number
expires:
type: number
format: float
remote_host:
type: string
format: ipv4
remote_port:
type: integer
roles:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
PasswordExpiryInfo:
type: object
properties:
id:
type: string
message:
type: string
user_id:
type: string
format: uuid
ArrayOfTokenInfo:
type: array
items:
$ref: '#/components/schemas/TokenInfo'
CreateTokenRequest:
type: object
properties:
username:
type: string
password:
type: string
project_id:
type: string
required:
- username
- password
UserInfo:
type: object
properties:
_id:
type: string
format: uuid
username:
type: string
password:
type: string
project_role_mappings:
type: array
items:
type: object
properties:
project:
type: string
format: uuid
role:
type: string
format: uuid
project_name:
type: string
role_name:
type: string
projects:
type: array
items:
type: string
ArrayOfUserInfo:
type: array
items:
$ref: '#/components/schemas/UserInfo'
ProjectRoleMappings:
type: array
items:
type: object
properties:
project:
type: string
role:
type: string
required:
- project
- role
additionalProperties: false
ProjectRoleMappingsOpt:
type: array
items:
type: object
properties:
project:
type: string
role:
type: string
required:
- project
additionalProperties: false
CreateUserRequest:
type: object
properties:
username:
type: string
password:
type: string
projects:
type: array
items:
type: string
project_role_mappings:
$ref: '#/components/schemas/ProjectRoleMappings'
required:
- username
- password
additionalProperties: false
ShortNameList:
type: array
items:
type: string
ArrayEditionSchema:
type: object
additionalProperties: true
minProperties: 1
description: |
Array edition keys must start with '$'
and follow the syntax defined in: https://osm.etsi.org/wikipub/index.php/NBI_API_Description
EditUserRequest:
type: object
properties:
username:
type: string
password:
type: string
old_password:
type: string
system_admin_id:
type: string
format: uuid
unlock:
type: boolean
renew:
type: boolean
projects:
oneOf:
- $ref: '#/components/schemas/ShortNameList'
- $ref: '#/components/schemas/ArrayEditionSchema'
project_role_mappings:
$ref: '#/components/schemas/ProjectRoleMappings'
add_project_role_mappings:
$ref: '#/components/schemas/ProjectRoleMappings'
remove_project_role_mappings:
$ref: '#/components/schemas/ProjectRoleMappingsOpt'
QuotasInfo:
type: object
properties:
vnfds:
type: integer
minimum: 0
nullable: false
nsds:
type: integer
minimum: 0
nullable: false
slice_templates:
type: integer
minimum: 0
nullable: false
pduds:
type: integer
minimum: 0
nullable: false
ns_instances:
type: integer
minimum: 0
nullable: false
slice_instances:
type: integer
minimum: 0
nullable: false
vim_accounts:
type: integer
minimum: 0
nullable: false
wim_accounts:
type: integer
minimum: 0
nullable: false
sdn_controllers:
type: integer
minimum: 0
nullable: false
k8sclusters:
type: integer
minimum: 0
nullable: false
vca:
type: integer
minimum: 0
nullable: false
k8srepos:
type: integer
minimum: 0
nullable: false
osmrepos:
type: integer
minimum: 0
nullable: false
additionalProperties: false
EditQuotasInfo:
type: object
properties:
vnfds:
type: integer
minimum: 0
nullable: true
nsds:
type: integer
minimum: 0
nullable: true
slice_templates:
type: integer
minimum: 0
nullable: true
pduds:
type: integer
minimum: 0
nullable: true
ns_instances:
type: integer
minimum: 0
nullable: true
slice_instances:
type: integer
minimum: 0
nullable: true
vim_accounts:
type: integer
minimum: 0
nullable: true
wim_accounts:
type: integer
minimum: 0
nullable: true
sdn_controllers:
type: integer
minimum: 0
nullable: true
k8sclusters:
type: integer
minimum: 0
nullable: true
vca:
type: integer
minimum: 0
nullable: true
k8srepos:
type: integer
minimum: 0
nullable: true
osmrepos:
type: integer
minimum: 0
nullable: true
additionalProperties: false
ProjectInfo:
type: object
properties:
_id:
type: string
format: uuid
name:
type: string
quotas:
$ref: '#/components/schemas/QuotasInfo'
ArrayOfProjectInfo:
type: array
items:
$ref: '#/components/schemas/ProjectInfo'
CreateProjectRequest:
type: object
properties:
name:
type: string
admin:
type: boolean
quotas:
$ref: '#/components/schemas/QuotasInfo'
required:
- name
additionalProperties: false
EditProjectRequest:
type: object
properties:
name:
type: string
admin:
type: boolean
quotas:
$ref: '#/components/schemas/EditQuotasInfo'
additionalProperties: false
PermissionsInfo:
type: object
additionalProperties:
type: boolean
nullable: false
description: |
Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
Permission values are either true or false
EditPermissionsInfo:
type: object
additionalProperties:
type: boolean
nullable: true
description: |
Permissions keys must follow the syntax 'main_topic[:subtopic[:id[:component|action|etc]]]'
Permission values are either true, false, or null
RoleInfo:
type: object
properties:
_id:
type: string
format: uuid
name:
type: string
permissions:
$ref: '#/components/schemas/PermissionsInfo'
ArrayOfRoleInfo:
type: array
items:
$ref: '#/components/schemas/RoleInfo'
CreateRoleRequest:
type: object
properties:
name:
type: string
permissions:
$ref: '#/components/schemas/PermissionsInfo'
required:
- name
additionalProperties: false
EditRoleRequest:
type: object
properties:
name:
type: string
permissions:
$ref: '#/components/schemas/EditPermissionsInfo'
additionalProperties: false
VimType:
type: string
enum:
- openvim
- openstack
- vmware
- opennebula
- aws
- azure
- fos
VimInfo:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
vim:
type: string
datacenter:
type: string
vim_type:
$ref: '#/components/schemas/VimType'
vim_url:
type: string
format: uri
vim_tenant_name:
type: string
vim_user:
type: string
vim_password:
type: string
vca:
type: string
format: uuid
config:
type: object
additionalProperties: true
resources:
type: object
ArrayOfVimInfo:
type: array
items:
$ref: '#/components/schemas/VimInfo'
CreateVimRequest:
type: object
properties:
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
vim:
type: string
datacenter:
type: string
vim_type:
$ref: '#/components/schemas/VimType'
vim_url:
type: string
format: uri
vim_tenant_name:
type: string
vim_user:
type: string
vim_password:
type: string
vca:
type: string
format: uuid
config:
type: object
additionalProperties: true
prometheus-config:
type: object
additionalProperties: true
resources:
type: object
required:
- name
- vim_url
- vim_type
- vim_user
- vim_password
- vim_tenant_name
additionalProperties: false
EditVimRequest:
type: object
properties:
name:
type: string
description:
type: string
vim:
type: string
datacenter:
type: string
vim_type:
$ref: '#/components/schemas/VimType'
vim_url:
type: string
format: uri
vim_tenant_name:
type: string
vim_user:
type: string
vim_password:
type: string
vca:
type: string
format: uuid
prometheus-config:
type: object
additionalProperties: true
config:
type: object
additionalProperties: true
additionalProperties: false
ObjectId_plus_OpId:
type: object
properties:
id:
type: string
format: uuid
op_id:
type: string
format: uuid
OpId:
type: object
properties:
op_id:
type: string
format: uuid
WimType:
type: string
enum:
- onos
- odl
- tapi
- dynpac
- fake
WimInfo:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
wim:
type: string
wim_type:
$ref: '#/components/schemas/WimType'
wim_url:
type: string
format: uri
user:
type: string
password:
type: string
config:
type: object
additionalProperties: true
ArrayOfWimInfo:
type: array
items:
$ref: '#/components/schemas/WimInfo'
CreateWimRequest:
type: object
properties:
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
wim:
type: string
wim_type:
$ref: '#/components/schemas/WimType'
wim_url:
type: string
format: uri
user:
type: string
password:
type: string
config:
type: object
additionalProperties: true
required:
- name
- wim_url
- wim_type
additionalProperties: false
EditWimRequest:
type: object
properties:
name:
type: string
description:
type: string
wim:
type: string
wim_type:
type: string
wim_url:
type: string
format: uri
user:
type: string
password:
type: string
config:
type: object
additionalProperties: true
additionalProperties: false
SdnBasicProperties:
type: object
properties:
name:
type: string
description:
type: string
dpid:
type: string
format: mac_address
ip:
type: string
format: ipv4
port:
type: integer
type:
type: string
enum:
- floodlight
- opendaylight
- onos
version:
type: string
user:
type: string
password:
type: string
SdnExtraProperties:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
SdnInfo:
allOf:
- $ref: '#/components/schemas/SdnExtraProperties'
- $ref: '#/components/schemas/SdnBasicProperties'
ArrayOfSdnInfo:
type: array
items:
$ref: '#/components/schemas/SdnInfo'
CreateSdnRequest:
allOf:
- $ref: '#/components/schemas/SdnBasicProperties'
required:
- name
- type
- ip
- port
- dpid
additionalProperties: false
EditSdnRequest:
allOf:
- $ref: '#/components/schemas/SdnBasicProperties'
additionalProperties: false
NsPmJobReportInfo:
type: object
properties:
entries:
type: array
items:
type: object
properties:
objectInstanceId:
type: string
format: uuid
performanceMetric:
type: string
performanceValue:
type: object
properties:
performanceValue:
type: object
properties:
performanceValue:
type: number
vnfMemberIndex:
type: string
vduName:
type: string
timestamp:
type: number
PduInterfaces:
type: array
items:
type: object
properties:
name:
type: string
mgmt:
type: boolean
type:
type: string
enum:
- overlay
- underlay
ip-address:
type: string
format: ipv4
mac-address:
type: string
format: mac_address
vim-network-name:
type: string
vim-network-id:
type: string
required:
- name
- mgmt
- ip-address
additionalProperties: false
PduInfo:
type: object
properties:
_id:
type: string
format: uuid
name:
type: string
type:
type: string
description:
type: string
shared:
type: boolean
vims:
type: array
items:
type: string
vim_accounts:
type: array
items:
type: string
interfaces:
$ref: '#/components/schemas/PduInterfaces'
ArrayOfPduInfo:
type: array
items:
$ref: '#/components/schemas/PduInfo'
CreatePduRequest:
type: object
properties:
name:
type: string
type:
type: string
description:
type: string
shared:
type: boolean
vims:
type: array
items:
type: string
vim_accounts:
type: array
items:
type: string
interfaces:
$ref: '#/components/schemas/PduInterfaces'
required:
- name
- type
- interfaces
additionalProperties: false
EditPduRequest:
type: object
properties:
name:
type: string
type:
type: string
description:
type: string
shared:
type: boolean
vims:
type: array
items:
type: string
vim_accounts:
type: array
items:
type: string
interfaces:
$ref: '#/components/schemas/PduInterfaces'
additionalProperties: false
K8sClusterNetList:
type: array
items:
type: object
additionalProperties: false
K8sClusterDeploymentMethods:
type: object
properties:
juju-bundle:
type: boolean
helm-chart-v3:
type: boolean
additionalProperties: false
minProperties: 3
K8sClusterInfo:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
credentials:
type: object
additionalProperties: true
vim_account:
type: string
format: uuid
k8s_version:
type: string
nets:
$ref: '#/components/schemas/K8sClusterNetList'
deployment_methods:
$ref: '#/components/schemas/K8sClusterDeploymentMethods'
namespace:
type: string
cni:
type: array
items:
type: string
ArrayOfK8sClusterInfo:
type: array
items:
$ref: '#/components/schemas/K8sClusterInfo'
CreateK8sClusterRequest:
type: object
properties:
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
credentials:
type: object
additionalProperties: true
vim_account:
type: string
format: uuid
k8s_version:
type: string
nets:
$ref: '#/components/schemas/K8sClusterNetList'
namespace:
type: string
cni:
type: array
items:
type: string
required:
- name
- credentials
- vim_account
- k8s_version
- nets
additionalProperties: false
EditK8sClusterRequest:
type: object
properties:
name:
type: string
description:
type: string
credentials:
type: object
additionalProperties: true
vim_account:
type: string
format: uuid
k8s_version:
type: string
nets:
$ref: '#/components/schemas/K8sClusterNetList'
namespace:
type: string
cni:
type: array
items:
type: string
additionalProperties: false
VcaInfo:
type: object
properties:
_id:
type: string
format: uuid
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
endpoints:
type: string
user:
type: string
secret:
type: string
cacert:
type: string
lxd-cloud:
type: string
lxd-credentials:
type: string
k8s-cloud:
type: string
k8s-credentials:
type: string
model-config:
type: object
additionalProperties: true
ArrayOfVcaInfo:
type: array
items:
$ref: '#/components/schemas/VcaInfo'
CreateVcaRequest:
type: object
properties:
schema_version:
type: string
format: X.Y[.Z]
schema_type:
type: string
name:
type: string
description:
type: string
endpoints:
type: string
user:
type: string
secret:
type: string
cacert:
type: string
lxd-cloud:
type: string
lxd-credentials:
type: string
k8s-cloud:
type: string
k8s-credentials:
type: string
model-config:
type: object
additionalProperties: true
required:
- name
- endpoints
- user
- secret
- cacert
- lxd-cloud
- lxd-credentials
- k8s-cloud
- k8s-credentials
additionalProperties: false
EditVcaRequest:
type: object
properties:
name:
type: string
description:
type: string
endpoints:
type: string
user:
type: string
secret:
type: string
cacert:
type: string
lxd-cloud:
type: string
lxd-credentials:
type: string
k8s-cloud:
type: string
k8s-credentials:
type: string
model-config:
type: object
additionalProperties: true
additionalProperties: false
K8sRepoType:
type: string
enum:
- chart
- bundle
K8sRepoInfo:
type: object
properties:
_id:
type: string
format: uuid
name:
type: string
description:
type: string
type:
$ref: '#/components/schemas/K8sRepoType'
url:
type: string
format: uri
username:
type: string
description: repository username
password:
type: string
description: repository password
ca-file:
type: string
description: verify certificates of HTTPS-enabled servers using this CA bundle
cert-file:
type: string
description: identify HTTPS client using this SSL certificate file
skip-tls-verify:
type: boolean
description: skip tls certificate checks for the repository
key-file:
type: string
description: identify HTTPS client using this SSL key file
oci:
type: boolean
default: false
description: >
Flag to indicate whether or not it is an OCI-enabled repo (default: false)
required:
- name
- type
- url
additionalProperties: false
ArrayOfK8sRepoInfo:
type: array
items:
$ref: '#/components/schemas/K8sRepoInfo'
CreateK8sRepoRequest:
type: object
properties:
name:
type: string
description:
type: string
type:
$ref: '#/components/schemas/K8sRepoType'
url:
type: string
format: uri
required:
- name
- type
- url
additionalProperties: false
NslcmSubscriptionResponse:
type: object
properties:
id:
type: string
format: uuid
filter:
type: object
CallbackUri:
type: string
format: uri
_links:
type: object
NslcmSubscriptionInfo:
type: object
properties:
_id:
type: string
format: uuid
_admin:
type: object
schema_version:
type: string
format: 'X.Y[.Z]'
CallbackUri:
type: string
format: uri
filter:
type: object
authentication:
$ref: '#/components/schemas/Authenticationschema'
ArrayOfNslcmSubscriptionInfo:
type: array
items:
$ref: '#/components/schemas/NslcmSubscriptionInfo'
NsInstanceSubscriptionFilter:
description: |
used to identify the network service
type: object
oneOf:
- $ref: '#/components/schemas/nsdIds'
- $ref: '#/components/schemas/vnfdIds'
- $ref: '#/components/schemas/pnfdIds'
- $ref: '#/components/schemas/nsInstanceIds'
- $ref: '#/components/schemas/nsInstanceNames'
nsdIds:
type: array
items:
type: string
vnfdIds:
type: array
items:
type: string
pnfdIds:
type: array
items:
type: string
nsInstanceIds:
type: array
items:
type: string
nsInstanceNames:
type: array
items:
type: string
Nslcmsubschema:
type: object
properties:
nsInstanceSubscriptionFilter:
$ref: '#/components/schemas/NsInstanceSubscriptionFilter'
notificationTypes:
description: |
If NsLcmOperationOccurrenceNotification is selected then at least operationTypes or states is required. If NsLcmOperationOccurrenceNotification is selected then at least nsComponentTypes, lcmOpName and lcmOpOccStatus is required
type: array
items:
type: string
enum:
- NsIdentifierCreationNotification
- NsIdentifierDeletionNotification
- NsLcmOperationOccurrenceNotification
- NsChangeNotification
operationTypes:
type: array
items:
type: string
enum:
- INSTANTIATE
- SCALE
- TERMINATE
- UPDATE
- HEAL
operationStates:
type: array
items:
type: string
enum:
- PROCESSING
- COMPLETED
- PARTIALLY_COMPLETED
- FAILED
- FAILED_TEMP
- ROLLING_BACK
- ROLLED_BACK
nsComponentTypes:
type: array
items:
type: string
enum:
- VNF
- NS
- PNF
lcmOpNameImpactingNsComponent:
type: array
items:
type: string
enum:
- VNF_INSTANTIATE
- VNF_SCALE
- VNF_SCALE_TO_LEVEL
- VNF_CHANGE_FLAVOUR
- VNF_TERMINATE
- VNF_HEAL
- VNF_OPERATE
- VNF_CHANGE_EXT_CONN
- VNF_MODIFY_INFO
- NS_INSTANTIATE
- NS_SCALE
- NS_UPDATE
- NS_TERMINATE
- NS_HEAL
lcmOpOccStatusImpactingNsComponent:
type: array
items:
type: string
enum:
- START
- COMPLETED
- PARTIALLY_COMPLETED
- FAILED
- ROLLED_BACK
Authenticationschema:
type: object
properties:
authType:
type: string
enum:
- basic
paramsBasic:
type: object
properties:
userName:
type: string
password:
type: string
NslcmSubscriptionRequest:
type: object
properties:
filter:
$ref: '#/components/schemas/Nslcmsubschema'
CallbackUri:
type: string
format: uri
authentication:
$ref: '#/components/schemas/Authenticationschema'
required:
- CallbackUri
CancelNSLCMOpOccRequest:
type: object
properties:
cancelMode:
type: string
enum:
- GRACEFUL
- FORCEFUL
# END SCHEMAS
requestBodies:
CreateNsdInfoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNsdInfoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNsdInfoRequest'
NsdInfoModifications:
content:
application/json:
schema:
$ref: '#/components/schemas/NsdInfoModifications'
application/yaml:
schema:
$ref: '#/components/schemas/NsdInfoModifications'
AlarmInfoModifications:
content:
application/json:
schema:
$ref: '#/components/schemas/AlarmInfoModifications'
application/yaml:
schema:
$ref: '#/components/schemas/AlarmInfoModifications'
NsDescriptor:
content:
text/plain:
schema:
$ref: '#/components/schemas/NsDescriptor'
NsPackage:
content:
application/zip:
schema:
$ref: '#/components/schemas/NsPackage'
CreateNsConfigTemplateInfoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNsdInfoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNsdInfoRequest'
NsConfigTemplateInfoModifications:
content:
application/json:
schema:
$ref: '#/components/schemas/NsdInfoModifications'
application/yaml:
schema:
$ref: '#/components/schemas/NsdInfoModifications'
CreateVnfPkgInfoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVnfPkgInfoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateVnfPkgInfoRequest'
VnfPkgInfoModifications:
content:
application/json:
schema:
$ref: '#/components/schemas/VnfPkgInfoModifications'
application/yaml:
schema:
$ref: '#/components/schemas/VnfPkgInfoModifications'
VnfPackage:
content:
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
VnfDescriptor:
content:
text/plain:
schema:
$ref: '#/components/schemas/VnfDescriptor'
# CreateNsRequest:
# Substituted by InstantiateNsRequest
InstantiateNsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/InstantiateNsRequest'
application/yaml:
schema:
$ref: '#/components/schemas/InstantiateNsRequest'
HealNsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/HealNsRequest'
application/yaml:
schema:
$ref: '#/components/schemas/HealNsRequest'
NSinstanceMigrateRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/NSinstanceMigrateRequest'
application/yaml:
schema:
$ref: '#/components/schemas/NSinstanceMigrateRequest'
ScaleNsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/ScaleNsRequest'
application/yaml:
schema:
$ref: '#/components/schemas/ScaleNsRequest'
TerminateNsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateNsRequest'
application/yaml:
schema:
$ref: '#/components/schemas/TerminateNsRequest'
UpdateNsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNsRequest'
application/yaml:
schema:
$ref: '#/components/schemas/UpdateNsRequest'
MultiNsTerminateRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/MultiNsTerminateRequest'
application/yaml:
schema:
$ref: '#/components/schemas/MultiNsTerminateRequest'
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNstInfoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNstInfoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateNstInfoRequest'
NetSliceTemplate:
content:
text/plain:
schema:
$ref: '#/components/schemas/NetSliceTemplate'
NetSlicePackage:
content:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
NstInfoModifications:
content:
application/json:
schema:
$ref: '#/components/schemas/NstInfoModifications'
application/yaml:
schema:
$ref: '#/components/schemas/NstInfoModifications'
# CreateNsiRequest:
# Substituted by InstantiateNsiRequest
InstantiateNsiRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/InstantiateNsiRequest'
application/yaml:
schema:
$ref: '#/components/schemas/InstantiateNsiRequest'
TerminateNsiRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateNsiRequest'
application/yaml:
schema:
$ref: '#/components/schemas/TerminateNsiRequest'
NsiActionRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/NsiActionRequest'
application/yaml:
schema:
$ref: '#/components/schemas/NsiActionRequest'
# CreateNsiContentRequest:
# Substituted by InstantiateNsiRequest
CreateTokenRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTokenRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateTokenRequest'
CreateUserRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateUserRequest'
EditUserRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditUserRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditUserRequest'
CreateProjectRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateProjectRequest'
EditProjectRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditProjectRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditProjectRequest'
CreateRoleRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRoleRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateRoleRequest'
EditRoleRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditRoleRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditRoleRequest'
CreateVimRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVimRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateVimRequest'
EditVimRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditVimRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditVimRequest'
CreateWimRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWimRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateWimRequest'
EditWimRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditWimRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditWimRequest'
CreateSdnRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSdnRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateSdnRequest'
EditSdnRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditSdnRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditSdnRequest'
CreatePduRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePduRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreatePduRequest'
EditPduRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditPduRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditPduRequest'
CreateK8sClusterRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateK8sClusterRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateK8sClusterRequest'
EditK8sClusterRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditK8sClusterRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditK8sClusterRequest'
CreateVcaRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVcaRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateVcaRequest'
EditVcaRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EditVcaRequest'
application/yaml:
schema:
$ref: '#/components/schemas/EditVcaRequest'
CreateK8sRepoRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateK8sRepoRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CreateK8sRepoRequest'
NslcmSubscriptionRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/NslcmSubscriptionRequest'
application/yaml:
schema:
$ref: '#/components/schemas/NslcmSubscriptionRequest'
CancelNSLCMOpOccRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/CancelNSLCMOpOccRequest'
application/yaml:
schema:
$ref: '#/components/schemas/CancelNSLCMOpOccRequest'
# END REQUEST BODIES
securitySchemes:
bearerAuth:
type: http
scheme: bearer