openapi: 3.0.0
+
servers:
- description: OSM NB API
- url: https://osm.etsi.org/nbapi/v1.0.0
+ url: 'https://osm.etsi.org/nbapi/v1.0.0'
+
info:
description: |
This is Open Source MANO Northbound API featuring ETSI NFV SOL005.
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
+
tags:
- name: 'VNF packages'
description: Management operations of VNF descriptors and packages
description: Management operations of NS descriptors and packages
- name: 'NS instances'
description: Management operations of NS instances
+ - name: 'NetSlice templates'
+ description: Management operations of NetSlice Templates
+ - name: 'NetSlice instances'
+ description: Management operations of NetSlice Instances
+ - name: '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:
summary: Query information about multiple NS descriptor resources
description: Query information about multiple NS descriptor resources
operationId: getNSDs
- security:
- - bearerAuth: []
responses:
'200':
description: OK
summary: Create a new NS descriptor resource
description: Create a new NS descriptor resource
operationId: addNSD
- security:
- - bearerAuth: []
requestBody:
$ref: '#/components/requestBodies/CreateNsdInfoRequest'
responses:
content:
application/json:
schema:
- $ref: '#/components/schemas/NsdInfo'
+ $ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
- $ref: '#/components/schemas/NsdInfo'
+ $ref: '#/components/schemas/ObjectId'
'400':
$ref: '#/components/responses/BadRequest'
'401':
default:
$ref: '#/components/responses/UnexpectedError'
'/nsd/v1/ns_descriptors/{nsdInfoId}':
+ parameters:
+ - name: nsdInfoId
+ in: path
+ required: true
+ description: NSD Info ID
+ schema:
+ type: string
get:
tags:
- "NS packages"
summary: Read information about an individual NS descriptor resource
description: Read information about an individual NS descriptor resource
operationId: getNSD
- security:
- - bearerAuth: []
responses:
'200':
description: OK
summary: Delete an individual NS descriptor resource
description: Delete an individual NS descriptor resource
operationId: deleteNSD
- security:
- - bearerAuth: []
responses:
'204':
description: No Content
patch:
tags:
- "NS packages"
- summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource
- description: Modify the operational state and/or the user defined data of an individual NS descriptor resource
+ summary: Modify the data of an individual NS descriptor resource
+ description: Modify the data of an individual NS descriptor resource
operationId: updateNSD
- security:
- - bearerAuth: []
requestBody:
$ref: '#/components/requestBodies/NsdInfoModifications'
responses:
- '200':
- description: OK
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NsdInfoModifications'
- application/yaml:
- schema:
- $ref: '#/components/schemas/NsdInfoModifications'
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
default:
$ref: '#/components/responses/UnexpectedError'
'/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content':
+ parameters:
+ - name: nsdInfoId
+ in: path
+ required: true
+ description: NSD Info ID
+ schema:
+ type: string
get:
tags:
- "NS packages"
summary: Fetch the content of a NSD
description: Fetch the content of a NSD
operationId: getNSDcontent
- security:
- - bearerAuth: []
responses:
'200':
description: OK
- $ref: '#/components/requestBodies/NsdContent'
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/NsPackage'
'206':
description: Partial Content
headers:
Content-Range:
schema:
type: string
- $ref: '#/components/requestBodies/NsdContent'
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/NsPackage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
summary: Upload the content of a NSD
description: Upload the content of a NSD
operationId: updateNSDcontent
- security:
- - bearerAuth: []
requestBody:
- $ref: '#/components/requestBodies/NsdContent'
+ $ref: '#/components/requestBodies/NsPackage'
responses:
'202':
description: Accepted
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/vnfpkgm/v1/vnf_packages':
+ '/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:
- - "VNF packages"
- summary: Query information about multiple VNF package resources
- description: Query information about multiple VNF package resoureces
- operationId: getVnfPkgs
- security:
- - bearerAuth: []
+ - "NS packages"
+ summary: Fetch individual NS package artifact
+ description: Fetch individual NS package artifact
+ operationId: getNsPkgArtifact
responses:
'200':
description: OK
content:
- application/json:
+ application/octet-stream:
schema:
- $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
- application/yaml:
+ type: string
+ format: binary
+ '206':
+ description: Partial Content
+ headers:
+ Content-Range:
schema:
- $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
+ type: string
+ content:
+ application/octet-stream:
+ schema:
+ type: string
+ format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- post:
+ '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd':
+ parameters:
+ - name: nsdInfoId
+ in: path
+ required: true
+ description: NS Package ID
+ schema:
+ type: string
+ get:
tags:
- - "VNF packages"
- summary: Create a new VNF package resource
- description: Create a new VNF package resource
- operationId: addVnfPkg
- security:
- - bearerAuth: []
- requestBody:
- $ref: '#/components/requestBodies/CreateVnfPkgInfoRequest'
+ - "NS packages"
+ summary: Read NSD of an on-boarded NS package
+ description: Read NSD of an on-boarded NS package
+ operationId: getNsPkgNsd
responses:
- '201':
- description: Created
- headers:
- Location:
- schema:
- type: string
- format: uri
+ '200':
+ description: OK
content:
- application/json:
- schema:
- $ref: '#/components/schemas/VnfPkgInfo'
- application/yaml:
+ text/plain:
schema:
- $ref: '#/components/schemas/VnfPkgInfo'
+ $ref: '#/components/schemas/NsDescriptor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/vnfpkgm/v1/vnf_packages/{vnfPkgId}':
- get:
+ '/nsd/v1/ns_descriptors_content':
+ post:
tags:
- - "VNF packages"
- summary: Read information about an individual VNF package resource
- description: Read information about an individual VNF package resource
- operationId: getVnfPkg
- security:
- - bearerAuth: []
+ - "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:
- '200':
- description: OK
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
content:
application/json:
schema:
- $ref: '#/components/schemas/VnfPkgInfo'
+ $ref: '#/components/schemas/ObjectId'
application/yaml:
schema:
- $ref: '#/components/schemas/VnfPkgInfo'
+ $ref: '#/components/schemas/ObjectId'
+ '202':
+ description: Accepted
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- delete:
+ get:
tags:
- - "VNF packages"
- summary: Delete an individual VNF package resource
- description: Delete an individual VNF package resource
- operationId: deleteVnfPkg
- security:
- - bearerAuth: []
+ - "NS packages"
+ summary: Query information about multiple NS package resources
+ description: Query information about multiple NS package resources
+ operationId: getNsPkgsContent
responses:
- '204':
- description: No Content
+ '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/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- patch:
+ '/nsd/v1/ns_descriptors_content/{nsdInfoId}':
+ parameters:
+ - name: nsdInfoId
+ in: path
+ required: true
+ description: NS Package ID
+ schema:
+ type: string
+ get:
tags:
- - "VNF packages"
- summary: Modify the operational state and/or the user defined data of an individual VNF package resource
- description: Modify the operational state and/or the user defined data of an individual VNF package resource
- operationId: updateVnfPkg
- security:
- - bearerAuth: []
- requestBody:
- $ref: '#/components/requestBodies/VnfPkgInfoModifications'
+ - "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/VnfPkgInfoModifications'
+ $ref: '#/components/schemas/NsdInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/VnfPkgInfoModifications'
+ $ref: '#/components/schemas/NsdInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd':
- get:
+ put:
tags:
- - "VNF packages"
- summary: Read VNFD of an on-boarded VNF package
- description: Read VNFD of an on-boarded VNF package
- operationId: getVnfPkgVNFD
- security:
- - bearerAuth: []
+ - "NS packages"
+ summary: Modify an individual NS package resource
+ description: Modify an individual NS package resource
+ operationId: updateNsPkgsIdContent
+ requestBody:
+ $ref: '#/components/requestBodies/NsdInfoModifications'
responses:
- '200':
- description: OK
- content:
- text/plain:
- schema:
- $ref: '#/components/schemas/VnfDescriptor'
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content':
- get:
+ delete:
tags:
- - "VNF packages"
- summary: Fetch an on-boarded VNF package
- description: Fetch an on-boarded VNF package
- operationId: getVnfPkgContent
- security:
- - bearerAuth: []
+ - "NS packages"
+ summary: Delete an individual NS package resource
+ description: Delete an individual NS package resource
+ operationId: deleteNSPkgsIdContent
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'
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- put:
+# END NS Packages
+
+# BEGIN VNF Packages
+ '/vnfpkgm/v1/vnf_packages':
+ get:
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
- security:
- - bearerAuth: []
- requestBody:
- $ref: '#/components/requestBodies/VnfPackage'
+ summary: Query information about multiple VNF package resources
+ description: Query information about multiple VNF package resources
+ operationId: getVnfPkgs
responses:
- '202':
- description: Accepted
- #'204':
- # description: No Content
+ '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/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content/upload_from_uri':
post:
tags:
- "VNF packages"
- summary: Upload a VNF package by providing the URI of the VNF package
- description: Upload a VNF package by providing the URI of the VNF package
- operationId: uploadVnfPkgContentFromURI
- security:
- - bearerAuth: []
+ summary: Create a new VNF package resource
+ description: Create a new VNF package resource
+ operationId: addVnfPkg
requestBody:
- $ref: '#/components/requestBodies/UploadVnfPackageFromUriRequest'
+ $ref: '#/components/requestBodies/CreateVnfPkgInfoRequest'
responses:
- '202':
- description: Accepted
- #'204':
- # description: No Content
+ '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/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}':
+ '/vnfpkgm/v1/vnf_packages/{vnfPkgId}':
+ parameters:
+ - name: vnfPkgId
+ in: path
+ required: true
+ description: VNF Package ID
+ schema:
+ type: string
get:
tags:
- "VNF packages"
- summary: Fetch individual VNF package artifact
- description: Fetch individual VNF package artifact
- operationId: getVnfPkgArtifact
- security:
- - bearerAuth: []
+ 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/octet-stream:
- schema:
- type: string
- format: binary
- '206':
- description: Partial Content
- headers:
- Content-Range:
+ application/json:
schema:
- type: string
- content:
- application/octet-stream:
+ $ref: '#/components/schemas/VnfPkgInfo'
+ application/yaml:
schema:
- type: string
- format: binary
+ $ref: '#/components/schemas/VnfPkgInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/ns_instances':
- get:
+ delete:
tags:
- - "NS instances"
- summary: Query information about multiple NS instances
- description: Query information about multiple NS isntances
- operationId: getNSinstances
- security:
- - bearerAuth: []
+ - "VNF packages"
+ summary: Delete an individual VNF package resource
+ description: Delete an individual VNF package resource
+ operationId: deleteVnfPkg
responses:
- '200':
- description: OK
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ArrayOfNsInstance'
- application/yaml:
- schema:
- $ref: '#/components/schemas/ArrayOfNsInstance'
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- post:
+ patch:
tags:
- - "NS instances"
- summary: Create a new NS instance resource
- description: Create a new NS instance resource
- operationId: addNSinstance
- security:
- - bearerAuth: []
+ - "VNF packages"
+ summary: Modify an individual VNF package resource
+ description: Modify an individual VNF package resource
+ operationId: updateVnfPkg
requestBody:
- $ref: '#/components/requestBodies/CreateNsRequest'
+ $ref: '#/components/requestBodies/VnfPkgInfoModifications'
responses:
- '201':
- description: Created
- headers:
- Location:
- schema:
- type: string
- format: uri
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NsInstance'
- application/yaml:
- schema:
- $ref: '#/components/schemas/NsInstance'
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/ns_instances/{nsInstanceId}':
+ '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/vnfd':
+ parameters:
+ - name: vnfPkgId
+ in: path
+ required: true
+ description: VNF Package ID
+ schema:
+ type: string
get:
tags:
- - "NS instances"
- summary: Read an individual NS instance resource
- description: Read an individual NS instance resource
- operationId: getNSinstance
- security:
- - bearerAuth: []
+ - "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:
- application/json:
- schema:
- $ref: '#/components/schemas/NsInstance'
- application/yaml:
+ text/plain:
schema:
- $ref: '#/components/schemas/NsInstance'
+ $ref: '#/components/schemas/VnfDescriptor'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- delete:
+ '/vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content':
+ parameters:
+ - name: vnfPkgId
+ in: path
+ required: true
+ description: VNF Package ID
+ schema:
+ type: string
+ get:
tags:
- - "NS instances"
- summary: Delete an individual NS instance resource
- description: Delete an individual NS instance resource
- operationId: deleteNSinstance
- security:
- - bearerAuth: []
+ - "VNF packages"
+ summary: Fetch an on-boarded VNF package
+ description: Fetch an on-boarded VNF package
+ operationId: getVnfPkgContent
responses:
- '204':
- description: No Content
+ '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/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
- post:
+ put:
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
- security:
- - bearerAuth: []
+ - "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:
- $ref: '#/components/requestBodies/InstantiateNsRequest'
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/VnfPackage'
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
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/ns_instances/{nsInstanceId}/scale':
- post:
+ '/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:
- - "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
- security:
- - bearerAuth: []
- requestBody:
- $ref: '#/components/requestBodies/ScaleNsRequest'
+ - "VNF packages"
+ summary: Fetch individual VNF package artifact
+ description: Fetch individual VNF package artifact
+ operationId: getVnfPkgArtifact
responses:
- '202':
- description: Accepted
+ '200':
+ description: OK
+ content:
+ application/octet-stream:
+ schema:
+ type: string
+ format: binary
+ '206':
+ description: Partial Content
headers:
- Location:
- description: |
- It must point to the new "NS Lifecycle Operation Occurrence"
- resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ Content-Range:
schema:
type: string
- format: uri
+ content:
+ application/octet-stream:
+ schema:
+ type: string
+ format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/ns_instances/{nsInstanceId}/update':
+ '/vnfpkgm/v1/vnf_packages_content':
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
- security:
- - bearerAuth: []
+ - "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:
- $ref: '#/components/requestBodies/UpdateNsRequest'
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/VnfPackage'
responses:
- '202':
- description: Accepted
+ '201':
+ description: Created
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'
+ '202':
+ description: Accepted
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/ns_instances/{nsInstanceId}/heal':
- post:
+ get:
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
- security:
- - bearerAuth: []
- requestBody:
- $ref: '#/components/requestBodies/HealNsRequest'
+ - "VNF packages"
+ summary: Query information about multiple VNF package resources
+ description: Query information about multiple VNF package resources
+ operationId: getVnfPkgsContent
responses:
- '202':
- description: Accepted
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVnfPkgInfo'
+ '206':
+ description: Partial Content
headers:
- Location:
- description: |
- It must point to the new "NS Lifecycle Operation Occurrence"
- resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ Content-Range:
schema:
type: string
- format: uri
+ content:
+ application/octet-stream:
+ schema:
+ type: string
+ format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
- post:
+ '/vnfpkgm/v1/vnf_packages_content/{packageContentId}':
+ parameters:
+ - name: packageContentId
+ in: path
+ required: true
+ description: VNF Package Content ID
+ schema:
+ type: string
+ get:
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
- security:
- - bearerAuth: []
- requestBody:
- $ref: '#/components/requestBodies/TerminateNsRequest'
+ - "VNF packages"
+ summary: Read information about an individual VNF package resource
+ description: Read information about an individual VNF package resource
+ operationId: getVnfPkgsIdContent
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}"
+ '200':
+ description: OK
+ content:
+ application/json:
schema:
- type: string
- format: uri
- '400':
- $ref: '#/components/responses/BadRequest'
+ $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/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
-externalDocs:
- description: Find out more OSM
- url: 'http://osm.etsi.org/wikipub'
-components:
- responses:
- BadRequest:
- description: Bad request. The server cannot process the request due to a client error.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- Unauthorized:
- description: Authorization information is missing or invalid.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- Forbidden:
- description: Not enough permissions to do this operation.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- NotFound:
- description: The specified resource was not found.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- MethodNotAllowed:
- description: This method is not supported for the requested resource.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- NotAcceptable:
- description: The requested resource content cannot match the Accept headers sent in the request.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- Conflict:
- description: The operation cannot be executed currently, due to a conflict with the state of the resource.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- UnprocessableEntity:
- description: The request was well-formed but was unable to be followed due to semantic errors.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- InternalServerError:
- description: Internal server error.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- ServiceUnavailable:
- description: Service temporarily unavailable.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- UnexpectedError:
- description: Unexpected error.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- schemas:
- NsDescriptor:
- type: string
- NsPackage:
- type: string
- format: binary
- KeyValuePairs:
- type: object
- additionalProperties:
- type: string
- CreateNsdInfoRequest:
- type: object
- properties:
- userDefinedData:
- $ref: '#/components/schemas/KeyValuePairs'
- NsdOnboardingStateType:
- type: string
- enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED]
- description: |
- NSD onboarding state:
- * `CREATED` - The NSD information object is created.
- * `UPLOADING` - The associated NSD content is being uploaded.
- * `PROCESSING` - The associated NSD content is being processed, e.g. validation.
- * `ONBOARDED` - The associated NSD content is on-boarded.
- NsdOperationalStateType:
- type: string
- enum: [ENABLED, DISABLED]
- description: |
- NSD operational state:
- * `ENABLED` - The NSD is enabled.
- * `DISABLED` - The NSD is disabled.
- NsdUsageStateType:
- type: string
- enum: [IN_USE, NOT_IN_USE]
- description: |
- NSD usage state:
- * `IN_USE` - The NSD is in use.
- * `NOT_IN_USE` - The NSD is not in use.
- NsdInfoModifications:
- type: object
- properties:
- nsdOperationalState:
- $ref: '#/components/schemas/NsdOperationalStateType'
- userDefinedData:
- $ref: '#/components/schemas/KeyValuePairs'
- NsdInfo:
- type: object
- properties:
- id:
- description: |
- Identifier of the onboarded individual NS descriptor
- resource. This identifier is allocated by the NFVO.
- type: string
- format: uuid
- nsdId:
- description: |
- This identifier, which is allocated by the NSD
- designer, identifies the NSD in a globally unique
- way. It is copied from the NSD content and shall be
- present after the NSD content is on-boarded.
- type: string
- format: uuid
- nsdName:
- description: |
- Name of the onboarded NSD. This information is
- copied from the NSD content and shall be present
- after the NSD content is on-boarded.
- type: string
- nsdVersion:
- description: |
- Version of the on-boarded NSD. This information is
- copied from the NSD content and shall be present
- after the NSD content is on-boarded.
+ put:
+ tags:
+ - "VNF packages"
+ summary: Modify an individual VNF package resource
+ description: Modify an individual VNF package resource
+ operationId: updateVnfPkgsIdContent
+ requestBody:
+ $ref: '#/components/requestBodies/VnfPkgInfoModifications'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "VNF packages"
+ summary: Delete an individual VNF package resource
+ description: Delete an individual VNF package resource
+ operationId: deleteVnfPkgsIdContent
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END VNF Packages
+
+# BEGIN NS Instances
+ '/nslcm/v1/ns_instances':
+ get:
+ tags:
+ - "NS instances"
+ summary: Query information about multiple NS instances
+ description: Query information about multiple NS isntances
+ operationId: getNSinstances
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNsInstance'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNsInstance'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "NS instances"
+ summary: Create a new NS instance resource
+ description: Create a new NS instance resource
+ operationId: addNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/InstantiateNsRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ - name: vcaStatusRefresh
+ in: query
+ required: false
+ description: Set to true if vca status needs to be refreshed.
+ schema:
+ type: boolean
+ get:
+ tags:
+ - "NS instances"
+ summary: Read an individual NS instance resource
+ description: Read an individual NS instance resource
+ operationId: getNSinstance
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NsInstance'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NsInstance'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "NS instances"
+ summary: Delete an individual NS instance resource
+ description: Delete an individual NS instance resource
+ operationId: deleteNSinstance
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/instantiate':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Instantiate a NS
+ description: |
+ Instantiate a NS. The precondition is that the NS instance must have
+ been created and must be in NOT_INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state becomes
+ INSTANTIATED.
+ operationId: instantiateNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/InstantiateNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/scale':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Scale a NS instance
+ description: |
+ Scale a NS instance. The precondition is that the NS instance must have
+ been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state remains
+ INSTANTIATED.
+ operationId: scaleNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/ScaleNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/heal':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Heal a NS instance
+ description: |
+ Heal a NS instance. The precondition is that the NS instance must have
+ been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state remains
+ INSTANTIATED.
+ operationId: healNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/HealNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/migrate':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Migrate VNFs in a NS instance
+ description: |
+ Migrate the VNFs and VDUs in a NS instance. The precondition is
+ that the NS instance must have been created and must be in
+ INSTANTIATED state. As a result of the success of this operation,
+ the NFVO creates a "NS Lifecycle Operation Occurrence" resource
+ for the request, and the NS instance state remains INSTANTIATED.
+ operationId: migrateNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/NSinstanceMigrateRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Terminate a NS instance
+ description: |
+ Terminate a NS instance. The precondition is that the NS instance must have
+ been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state becomes
+ NOT_INSTANTIATED.
+ operationId: terminateNSinstance
+ requestBody:
+ # Request data is not required
+ $ref: '#/components/requestBodies/TerminateNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/action':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Execute an action on a NS instance
+ description: |
+ Execute an action on a NS instance.
+ The NS instance must have been created and must be in INSTANTIATED state.
+ operationId: actionOnNSinstance
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NSinstanceActionRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NSinstanceActionRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/update':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Update a NS instance
+ description: |
+ Update a NS instance. The precondition is that the NS instance must have
+ been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state remains
+ INSTANTIATED.
+ operationId: updateNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/UpdateNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/verticalscale':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Vertical scale a NS instance
+ description:
+ Execute an verticalscale on a NS instance.
+ The NS instance must have been created and must be in INSTANTIATED state.
+ operationId: verticalscaleNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/VerticalscaleNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances_content':
+ get:
+ tags:
+ - "NS instances"
+ summary: Query information about multiple NS instances
+ description: Query information about multiple NS isntances
+ operationId: getNSinstancesContent
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNsInstance'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNsInstance'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "NS instances"
+ summary: Create a new NS instance
+ description: Create a new NS instance
+ operationId: createNSinstanceContent
+ requestBody:
+ $ref: '#/components/requestBodies/InstantiateNsRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateNSinstanceContentResponse'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/CreateNSinstanceContentResponse'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances_content/{nsInstanceContentId}':
+ parameters:
+ - name: nsInstanceContentId
+ in: path
+ required: true
+ description: NS Instance Content ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NS instances"
+ summary: Read an individual NS instance resource
+ description: Read an individual NS instance resource
+ operationId: getNSinstanceContent
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NsInstance'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NsInstance'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "NS instances"
+ summary: Delete an individual NS instance resource
+ description: Delete an individual NS instance resource
+ operationId: deleteNSinstanceContent
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_lcm_op_occs':
+ get:
+ tags:
+ - "NS instances"
+ summary: Query information about multiple NS LCM Operation Occurrences
+ description: Query information about multiple NS LCM Operation Occurrences
+ operationId: getNSLCMOpOccs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNsLcmOpOcc'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}':
+ parameters:
+ - name: nsLcmOpOccId
+ in: path
+ required: true
+ description: NS LCM Operation Occurrence ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NS instances"
+ summary: Query information about an individual NS LCM Operation Occurrence
+ description: Query information about an individual NS LCM Operation Occurrence
+ operationId: getNSLCMOpOcc
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NsLcmOpOcc'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NsLcmOpOcc'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/vnf_instances':
+ get:
+ tags:
+ - "NS instances"
+ summary: Query information about multiple VNF Instances
+ description: Query information about multiple VNF Instances
+ operationId: getVnfInstances
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/vnf_instances/{vnfInstanceId}':
+ parameters:
+ - name: vnfInstanceId
+ in: path
+ required: true
+ description: VNF Instance ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NS instances"
+ summary: Query information about an individual VNF Instance
+ description: Query information about an individual VNF Instance
+ operationId: getVnfInstance
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VnfInstanceInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VnfInstanceInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/subscriptions':
+ get:
+ tags:
+ - NS instances
+ summary: Query information about multiple NS instance subscription
+ description: Query information about multiple NS instance subscription
+ operationId: getNsSubcriptions
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ 5XX:
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - NS instances
+ summary: Create a new subscription for the Network service
+ description: Create a new subscription for the Network service
+ operationId: addNsSubcriptions
+ requestBody:
+ $ref: '#/components/requestBodies/NslcmSubscriptionRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: object
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionResponse'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionResponse'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ 5XX:
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/subscriptions/{nsSubscriptionsId}':
+ parameters:
+ - name: nsSubscriptionsId
+ in: path
+ required: true
+ description: Network Service Subscription ID
+ schema:
+ type: string
+ get:
+ tags:
+ - NS instances
+ summary: Read information about an individual Network Service Subscription
+ description: Read information about an individual Network Service Subscription
+ operationId: getNsSubcriptionId
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ 5XX:
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - NS instances
+ summary: Delete an individual Network Service Subscription
+ description: Delete an individual Network Service Subscription
+ operationId: deleteNsSubcriptionId
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ 5XX:
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END NS Instances
+
+# BEGIN Alarms
+ '/nsfm/v1/alarms':
+ get:
+ tags:
+ - "Alarms"
+ summary: Query information about multiple alarms
+ description: Query information about multiple alarms
+ operationId: getAlarms
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfAlarm'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfAlarm'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsfm/v1/alarms/{uuid}':
+ parameters:
+ - name: uuid
+ in: path
+ required: true
+ description: Alarm UUID
+ schema:
+ type: string
+ get:
+ tags:
+ - "Alarms"
+ summary: Read an individual Alarm
+ description: Read an individual Alarm
+ operationId: getAlarm
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Alarm'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/Alarm'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Alarms"
+ summary: Modify the data of an individual Alarm
+ description: Modify the data of an individual Alarm
+ operationId: updateAlarm
+ requestBody:
+ $ref: '#/components/requestBodies/AlarmInfoModifications'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END Alarms
+
+# BEGIN NetSlice Templates
+ '/nst/v1/netslice_templates':
+ get:
+ tags:
+ - "NetSlice templates"
+ summary: Query information about multiple NetSlice template resources
+ description: Query information about multiple NetSlice template resources
+ operationId: getNSTs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNstInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNstInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "NetSlice templates"
+ summary: Create a new NetSlice template resource
+ description: Create a new NetSlice template resource
+ operationId: addNST
+ requestBody:
+ $ref: '#/components/requestBodies/CreateNstInfoRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nst/v1/netslice_templates/{netsliceTemplateId}':
+ parameters:
+ - name: netsliceTemplateId
+ in: path
+ required: true
+ description: NetSlice Template ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NetSlice templates"
+ summary: Read information about an individual NetSlice template resource
+ description: Read information about an individual NetSlice template resource
+ operationId: getNST
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NstInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NstInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "NetSlice templates"
+ summary: Delete an individual NetSlice template resource
+ description: Delete an individual NetSlice template resource
+ operationId: deleteNST
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nst/v1/netslice_templates/{netsliceTemplateId}/artifacts/{artifactPath}':
+ parameters:
+ - name: netsliceTemplateId
+ in: path
+ required: true
+ description: NetSlice Template ID
+ schema:
+ type: string
+ - name: artifactPath
+ in: path
+ required: true
+ description: Artifact Path
+ schema:
+ type: string
+ get:
+ tags:
+ - "NetSlice templates"
+ summary: Fetch individual NetSlice Template artifact
+ description: Fetch individual NetSlice Template artifact
+ operationId: getNstArtifact
+ responses:
+ '200':
+ description: OK
+ content:
+ application/octet-stream:
+ schema:
+ type: string
+ format: binary
+ '206':
+ description: Partial Content
+ headers:
+ Content-Range:
+ schema:
+ type: string
+ content:
+ application/octet-stream:
+ schema:
+ type: string
+ format: binary
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nst/v1/netslice_templates/{netsliceTemplateId}/nst':
+ parameters:
+ - name: netsliceTemplateId
+ in: path
+ required: true
+ description: NetSlice Template ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NetSlice templates"
+ summary: Read NST of an on-boarded NetSlice Template
+ description: Read NST of an on-boarded NetSlice Template
+ operationId: getNstNst
+ responses:
+ '200':
+ description: OK
+ content:
+ text/plain:
+ schema:
+ $ref: '#/components/schemas/NetSliceTemplate'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nst/v1/netslice_templates/{netsliceTemplateId}/nst_content':
+ parameters:
+ - name: netsliceTemplateId
+ in: path
+ required: true
+ description: NetSlice Template ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NetSlice templates"
+ summary: Fetch the content of a NST
+ description: Fetch the content of a NST
+ operationId: getNSTcontent
+ responses:
+ '200':
+ description: OK
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/NetSlicePackage'
+ '206':
+ description: Partial Content
+ headers:
+ Content-Range:
+ schema:
+ type: string
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/NetSlicePackage'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ put:
+ tags:
+ - "NetSlice templates"
+ summary: Upload the content of a NST
+ description: Upload the content of a NST
+ operationId: updateNSTcontent
+ requestBody:
+ $ref: '#/components/requestBodies/NetSlicePackage'
+ responses:
+ '202':
+ description: Accepted
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nst/v1/netslice_templates_content':
+ post:
+ tags:
+ - "NetSlice templates"
+ summary: Upload a NetSlice package by providing the content of the NetSlice package
+ description: Upload a NetSlice package by providing the content of the NetSlice package
+ operationId: uploadNstContent
+ requestBody:
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/NetSlicePackage'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '202':
+ description: Accepted
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ get:
+ tags:
+ - "NetSlice templates"
+ summary: Query information about multiple NetSlice Template resources
+ description: Query information about multiple NetSlice Template resources
+ operationId: getNstContent
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNstInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNstInfo'
+ '206':
+ description: Partial Content
+ headers:
+ Content-Range:
+ schema:
+ type: string
+ content:
+ application/octet-stream:
+ schema:
+ type: string
+ format: binary
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nst/v1/netslice_templates_content/{netsliceTemplateContentId}':
+ parameters:
+ - name: netsliceTemplateContentId
+ in: path
+ required: true
+ description: NetSlice Template ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NetSlice templates"
+ summary: Read information about an individual NetSlice Template resource
+ description: Read information about an individual NetSlice Template resource
+ operationId: getNstIdContent
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NstInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NstInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ put:
+ tags:
+ - "NetSlice templates"
+ summary: Modify an individual NetSlice Template resource
+ description: Modify an individual NetSlice Template resource
+ operationId: updateNstIdContent
+ requestBody:
+ $ref: '#/components/requestBodies/NstInfoModifications'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "NetSlice templates"
+ summary: Delete an individual NetSlice Template resource
+ description: Delete an individual NetSlice Template resource
+ operationId: deleteNstIdContent
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END NetSlice Templates
+
+# BEGIN NetSlice Instances
+ '/nsilcm/v1/netslice_instances':
+ get:
+ tags:
+ - "NetSlice instances"
+ summary: Query information about multiple NetSlice instances
+ description: Query information about multiple NetSlice isntances
+ operationId: getNSIs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNetSliceInstance'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNetSliceInstance'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "NetSlice instances"
+ summary: Create a new NetSlice instance resource
+ description: Create a new NetSlice instance resource
+ operationId: addNSI
+ requestBody:
+ $ref: '#/components/requestBodies/InstantiateNsiRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsilcm/v1/netslice_instances/{netsliceInstanceId}':
+ parameters:
+ - name: netsliceInstanceId
+ in: path
+ required: true
+ description: NetSlice Instance ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NetSlice instances"
+ summary: Read an individual NetSlice instance resource
+ description: Read an individual NetSlice instance resource
+ operationId: getNSI
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NetSliceInstance'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NetSliceInstance'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "NetSlice instances"
+ summary: Delete an individual NetSlice instance resource
+ description: Delete an individual NetSlice instance resource
+ operationId: deleteNSI
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/instantiate':
+ parameters:
+ - name: netsliceInstanceId
+ in: path
+ required: true
+ description: NetSlice Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NetSlice instances"
+ summary: Instantiate a NetSlice
+ description: |
+ Instantiate a NetSlice. The precondition is that the NetSlice instance
+ must have been created and must be in NOT_INSTANTIATED state. As a result
+ of the success of this operation, the NFVO creates a "NetSlice Lifecycle
+ Operation Occurrence" resource for the request, and the NS instance state
+ becomes INSTANTIATED.
+ operationId: instantiateNSI
+ requestBody:
+ $ref: '#/components/requestBodies/InstantiateNsiRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NetSlice Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/terminate':
+ parameters:
+ - name: netsliceInstanceId
+ in: path
+ required: true
+ description: NetSlice Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NetSlice instances"
+ summary: Terminate a NetSlice instance
+ description: |
+ Terminate a NetSlice instance. The precondition is that the NetSlice instance
+ must have been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NetSlice Lifecycle Operation
+ Occurrence" resource for the request, and the NetSlice instance state becomes
+ NOT_INSTANTIATED.
+ operationId: terminateNSI
+ requestBody:
+ # Request data is not required
+ $ref: '#/components/requestBodies/TerminateNsiRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NetSlice Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../nsi_lcm_op_occs/{nsiLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsilcm/v1/netslice_instances/{netsliceInstanceId}/action':
+ parameters:
+ - name: netsliceInstanceId
+ in: path
+ required: true
+ description: NetSlice Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NetSlice instances"
+ summary: Execute an action on a NetSlice instance
+ description: |
+ Execute an action on a NetSlice instance.
+ The NetSlice instance must have been created and must be in INSTANTIATED state.
+ operationId: actionOnNSI
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NsiActionRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NsiActionRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsilcm/v1/netslice_instances_content':
+ get:
+ tags:
+ - "NetSlice instances"
+ summary: Query information about multiple NetSlice instances
+ description: Query information about multiple NetSlice isntances
+ operationId: getNSIsContent
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNetSliceInstance'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNetSliceInstance'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "NetSlice instances"
+ summary: Create a new NetSlice instance
+ description: Create a new NetSlice instance
+ operationId: createNSIContent
+ requestBody:
+ $ref: '#/components/requestBodies/InstantiateNsiRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateNsiContentResponse'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/CreateNsiContentResponse'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsilcm/v1/netslice_instances_content/{netsliceInstanceContentId}':
+ parameters:
+ - name: netsliceInstanceContentId
+ in: path
+ required: true
+ description: NetSlice Instance Content ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NetSlice instances"
+ summary: Read an individual NetSlice instance resource
+ description: Read an individual NetSlice instance resource
+ operationId: getNSIContent
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NetSliceInstance'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NetSliceInstance'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "NetSlice instances"
+ summary: Delete an individual NS instance resource
+ description: Delete an individual NS instance resource
+ operationId: deleteNSIContent
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsilcm/v1/nsi_lcm_op_occs':
+ get:
+ tags:
+ - "NetSlice instances"
+ summary: Query information about multiple NetSlice LCM Operation Occurrences
+ description: Query information about multiple NetSlice LCM Operation Occurrences
+ operationId: getNsiLcmOpOccs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNsiLcmOpOcc'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nsilcm/v1/nsi_lcm_op_occs/{nsiLcmOpOccId}':
+ parameters:
+ - name: nsiLcmOpOccId
+ in: path
+ required: true
+ description: NetSlice LCM Operation Occurrence ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NetSlice instances"
+ summary: Query information about an individual NetSlice LCM Operation Occurrence
+ description: Query information about an individual NetSlice LCM Operation Occurrence
+ operationId: getNsiLcmOpOcc
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NsiLcmOpOcc'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NsiLcmOpOcc'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END NetSlice Instances
+
+# BEGIN NSPM
+ '/nspm/v1/pm_jobs/{pmJobId}/reports/{nsId}':
+ parameters:
+ - name: pmJobId
+ in: path
+ required: true
+ description: NS PM Job ID
+ schema:
+ type: string
+ - name: nsId
+ in: path
+ required: true
+ description: NS ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NS Performance Management"
+ summary: Query information about an individual NS PM Job Report
+ description: Query information about an individual NS PM Job Report
+ operationId: getNsPmJobReport
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NsPmJobReportInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NsPmJobReportInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END NSPM
+
+# BEGIN PDU
+ '/pdu/v1/pdu_descriptors':
+ get:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Query information about multiple PDU Descriptors
+ description: Query information about multiple PDU Descriptors
+ operationId: getPDUs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfPduInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfPduInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Create a new PDU
+ description: Create a new PDU Descriptor
+ operationId: createPDU
+ requestBody:
+ $ref: '#/components/requestBodies/CreatePduRequest'
+ responses:
+ '200':
+ description: OK
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/pdu/v1/pdu_descriptors/{pduDescriptorId}':
+ parameters:
+ - name: pduDescriptorId
+ in: path
+ required: true
+ description: PDU Descriptor ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Query information about an individual PDU Descriptor
+ description: Query information about an individual PDU Descriptor
+ operationId: getPDU
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PduInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/PduInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Modify an individual PDU Descriptor
+ description: Modify an individual PDU Descriptor
+ operationId: editPDU
+ requestBody:
+ $ref: '#/components/requestBodies/EditPduRequest'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Delete an individual PDU Descriptor
+ description: Delete an individual PDU Descriptor
+ operationId: deletePDU
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END PDU
+
+# BEGIN Admin
+ '/admin/v1/tokens':
+ get:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Query information about multiple Tokens
+ description: Query information about multiple Tokens
+ operationId: getTokens
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfTokenInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfTokenInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Request a new Token
+ description: Request a new Token
+ operationId: createToken
+ requestBody:
+ $ref: '#/components/requestBodies/CreateTokenRequest'
+ responses:
+ '200':
+ description: OK
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/TokenInfo'
+ - $ref: '#/components/schemas/PasswordExpiryInfo'
+ application/yaml:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/TokenInfo'
+ - $ref: '#/components/schemas/PasswordExpiryInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Delete the Token indicated in the Authorization Header
+ description: Delete the Token indicated in the Authorization Header
+ operationId: deleteAuthToken
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: string
+ application/yaml:
+ schema:
+ type: string
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/tokens/{tokenId}':
+ parameters:
+ - name: tokenId
+ in: path
+ required: true
+ description: Token ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Query information about an individual Token
+ description: Query information about an individual Token
+ operationId: getToken
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TokenInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/TokenInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Delete the Token indicated as parameter
+ description: Delete the Token indicated as parameter
+ operationId: deleteToken
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: string
+ application/yaml:
+ schema:
+ type: string
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/users':
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about multiple Users
+ description: Query information about multiple Users
+ operationId: getUsers
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfUserInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfUserInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Create a new User
+ description: Create a new User
+ operationId: createUser
+ requestBody:
+ $ref: '#/components/requestBodies/CreateUserRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/users/{userId}':
+ parameters:
+ - name: userId
+ in: path
+ required: true
+ description: User ID/Name
+ schema:
+ type: string
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about an individual User
+ description: Query information about an individual User
+ operationId: getUser
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/UserInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Modify a User
+ description: Modify a User
+ operationId: editUser
+ requestBody:
+ $ref: '#/components/requestBodies/EditUserRequest'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Delete a User
+ description: Delete a User
+ operationId: deleteUser
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/projects':
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about multiple Projects
+ description: Query information about multiple Projects
+ operationId: getProjects
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfProjectInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfProjectInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Create a new Project
+ description: Create a new Project
+ operationId: createProject
+ requestBody:
+ $ref: '#/components/requestBodies/CreateProjectRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/projects/{projectId}':
+ parameters:
+ - name: projectId
+ in: path
+ required: true
+ description: Project ID/Name
+ schema:
+ type: string
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about an individual Project
+ description: Query information about an individual Project
+ operationId: getProject
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProjectInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ProjectInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Modify a Project
+ description: Modify a Project
+ operationId: editProject
+ requestBody:
+ $ref: '#/components/requestBodies/EditProjectRequest'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Delete a Project
+ description: Delete a Project
+ operationId: deleteProject
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/roles':
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about multiple Roles
+ description: Query information about multiple Roles
+ operationId: getRoles
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfRoleInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfRoleInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Create a new Role
+ description: Create a new Role
+ operationId: createRole
+ requestBody:
+ $ref: '#/components/requestBodies/CreateRoleRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/roles/{roleId}':
+ parameters:
+ - name: roleId
+ in: path
+ required: true
+ description: Role ID/Name
+ schema:
+ type: string
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about an individual Role
+ description: Query information about an individual Role
+ operationId: getRole
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RoleInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/RoleInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Modify a Role
+ description: Modify a Role
+ operationId: editRole
+ requestBody:
+ $ref: '#/components/requestBodies/EditRoleRequest'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Delete a Role
+ description: Delete a Role
+ operationId: deleteRole
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vims':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple VIMs
+ description: Query information about multiple VIMs
+ operationId: getVIMs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new VIM
+ description: Create a new VIM
+ operationId: createVIM
+ requestBody:
+ $ref: '#/components/requestBodies/CreateVimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vims/{vimId}':
+ parameters:
+ - name: vimId
+ in: path
+ required: true
+ description: VIM ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual VIM
+ description: Query information about an individual VIM
+ operationId: getVIM
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a VIM
+ description: Modify a VIM
+ operationId: editVIM
+ requestBody:
+ $ref: '#/components/requestBodies/EditVimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a VIM
+ description: Delete a VIM
+ operationId: deleteVIM
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vim_accounts':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple VIM Accounts
+ description: Query information about multiple VIM Accounts
+ operationId: getVimAccounts
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new VIM Account
+ description: Create a new VIM Account
+ operationId: createVimAccount
+ requestBody:
+ $ref: '#/components/requestBodies/CreateVimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vim_accounts/{vimAccountId}':
+ parameters:
+ - name: vimAccountId
+ in: path
+ required: true
+ description: VIM Account ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual VIM Account
+ description: Query information about an individual VIM Account
+ operationId: getVimAccount
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a VIM Account
+ description: Modify a VIM Account
+ operationId: editVimAccount
+ requestBody:
+ $ref: '#/components/requestBodies/EditVimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a VIM Account
+ description: Delete a VIM Account
+ operationId: deleteVimAccount
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/wim_accounts':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple WIM Accounts
+ description: Query information about multiple WIM Accounts
+ operationId: getWimAccounts
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfWimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfWimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new WIM Account
+ description: Create a new WIM Account
+ operationId: createWimAccount
+ requestBody:
+ $ref: '#/components/requestBodies/CreateWimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/wim_accounts/{wimAccountId}':
+ parameters:
+ - name: wimAccountId
+ in: path
+ required: true
+ description: WIM Account ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual WIM Account
+ description: Query information about an individual WIM Account
+ operationId: getWimAccount
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/WimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a WIM Account
+ description: Modify a WIM Account
+ operationId: editWimAccount
+ requestBody:
+ $ref: '#/components/requestBodies/EditWimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a WIM Account
+ description: Delete a WIM Account
+ operationId: deleteWimAccount
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/sdns':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple SDNs
+ description: Query information about multiple SDNs
+ operationId: getSDNs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfSdnInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfSdnInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new SDN
+ description: Create a new SDN
+ operationId: createSDN
+ requestBody:
+ $ref: '#/components/requestBodies/CreateSdnRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/sdns/{sdnId}':
+ parameters:
+ - name: sdnId
+ in: path
+ required: true
+ description: SDN ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual SDN
+ description: Query information about an individual SDN
+ operationId: getSDN
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SdnInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/SdnInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a SDN
+ description: Modify a SDN
+ operationId: editSDN
+ requestBody:
+ $ref: '#/components/requestBodies/EditSdnRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a SDN
+ description: Delete a SDN
+ operationId: deleteSDN
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/k8sclusters':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple K8s Clusters
+ description: Query information about multiple K8s Clusters
+ operationId: getK8sClusters
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new K8s Cluster
+ description: Create a new K8s Cluster
+ operationId: createK8sCluster
+ requestBody:
+ $ref: '#/components/requestBodies/CreateK8sClusterRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/k8sclusters/{k8sClusterId}':
+ parameters:
+ - name: k8sClusterId
+ in: path
+ required: true
+ description: K8s Cluster ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual K8s Cluster
+ description: Query information about an individual K8s Cluster
+ operationId: getK8sCluster
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/K8sClusterInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/K8sClusterInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a K8s Cluster
+ description: Modify a K8s Cluster
+ operationId: editK8sCluster
+ requestBody:
+ $ref: '#/components/requestBodies/EditK8sClusterRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a K8s Cluster
+ description: Delete a K8s Cluster
+ operationId: deleteK8sCluster
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vca':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple VCAs
+ description: Query information about multiple VCAs
+ operationId: getVcas
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVcaInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVcaInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new VCA
+ description: Create a new VCA
+ operationId: createVca
+ requestBody:
+ $ref: '#/components/requestBodies/CreateVcaRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vca/{vcaId}':
+ parameters:
+ - name: vcaId
+ in: path
+ required: true
+ description: VCA ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual VCA
+ description: Query information about an individual VCA
+ operationId: getVca
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VcaInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VcaInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a VCA
+ description: Modify a VCA
+ operationId: editVca
+ requestBody:
+ $ref: '#/components/requestBodies/EditVcaRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a VCA
+ description: Delete a VCA
+ operationId: deleteVca
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/k8srepos':
+ get:
+ tags:
+ - "Repositories"
+ - "Admin"
+ summary: Query information about multiple K8s Repos
+ description: Query information about multiple K8s Repos
+ operationId: getK8sRepos
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Repositories"
+ - "Admin"
+ summary: Create a new K8s Repo
+ description: Create a new K8s Repo
+ operationId: createK8sRepo
+ requestBody:
+ $ref: '#/components/requestBodies/CreateK8sRepoRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/k8srepos/{k8sRepoId}':
+ parameters:
+ - name: k8sRepoId
+ in: path
+ required: true
+ description: K8s Repo ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Repositories"
+ - "Admin"
+ summary: Query information about an individual K8s Repo
+ description: Query information about an individual K8s Repo
+ operationId: getK8sRepo
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/K8sRepoInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/K8sRepoInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Repositories"
+ - "Admin"
+ summary: Delete a K8s Repo
+ description: Delete a K8s Repo
+ operationId: deleteK8sRepo
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END Admin
+
+externalDocs:
+ description: Find out more about OSM
+ url: 'https://osm.etsi.org/docs/user-guide/'
+
+components:
+ responses:
+ BadRequest:
+ description: Bad request. The server cannot process the request due to a client error.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ Unauthorized:
+ description: Authorization information is missing or invalid.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ Forbidden:
+ description: Not enough permissions to do this operation.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ NotFound:
+ description: The specified resource was not found.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ MethodNotAllowed:
+ description: This method is not supported for the requested resource.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ NotAcceptable:
+ description: The requested resource content cannot match the Accept headers sent in the request.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ Conflict:
+ description: The operation cannot be executed currently, due to a conflict with the state of the resource.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ UnprocessableEntity:
+ description: The request was well-formed but was unable to be followed due to semantic errors.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ InternalServerError:
+ description: Internal server error.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ ServiceUnavailable:
+ description: Service temporarily unavailable.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ UnexpectedError:
+ description: Unexpected error.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ VnfDescriptor:
+ description: VNF Descriptor (plaintext)
+ content:
+ text/plain:
+ schema:
+ $ref: '#/components/schemas/VnfDescriptor'
+ VnfPackage:
+ description: VNF Package (compressed)
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/VnfPackage'
+ NsDescriptor:
+ description: NS Descriptor (plaintext)
+ content:
+ text/plain:
+ schema:
+ $ref: '#/components/schemas/NsDescriptor'
+ NsPackage:
+ description: NS Package (compressed)
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/NsPackage'
+ NetSliceTemplate:
+ description: NetSlice Template (plaintext)
+ content:
+ text/plain:
+ schema:
+ $ref: '#/components/schemas/NetSliceTemplate'
+ NetSlicePackage:
+ description: NetSlice Package (compressed)
+ content:
+ application/zip:
+ schema:
+ $ref: '#/components/schemas/NetSlicePackage'
+ NslcmSubscriptionResponse:
+ description: NslcmSubscriptionResponse
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionResponse'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionResponse'
+ # END RESPONSES
+
+ schemas:
+ ObjectId:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ KeyValuePairs:
+ # A free list of key:value pairs
+ type: object
+ additionalProperties: true
+ NsDescriptor:
+ type: string
+ format: yaml|json
+ NsPackage:
+ type: string
+ format: binary
+ CreateNsdInfoRequest:
+ # A free list of key:value pairs
+ type: object
+ additionalProperties: true
+ NsdInfoModifications:
+ description: |
+ NS Descriptor Information
+ Only generic fields (id, name, description) are described
+ For a full specification of the NS Descriptor see:
+ http://osm-download.etsi.org/ftp/osm-doc/nsd.html
+ type: object
+ properties:
+ id:
+ description: NSD Identifier
+ type: string
+ name:
+ description: NSD Name
+ type: string
+ description:
+ description: NSD Description
+ type: string
+ AlarmInfoModifications:
+ description: |
+ Alarm Information
+ type: object
+ properties:
+ id:
+ description: UUID
+ type: string
+ is_enable:
+ description: To enable/disable the alarm.
+ type: string
+ threshold:
+ description: Threshold value of the Alarm
+ type: string
+ NsdInfo:
+ description: |
+ NS Descriptor Information
+ Only generic fields (_id, id, name, description) are described
+ For a full specification of the NS Descriptor see:
+ http://osm-download.etsi.org/ftp/osm-doc/nsd.html
+ type: object
+ properties:
+ _id:
+ description: |
+ Identifier of the onboarded individual NS descriptor
+ resource. This identifier is allocated by the NFVO.
+ type: string
+ format: uuid
+ id:
+ description: |
+ This identifier, which is allocated by the NSD
+ designer, identifies the NSD in a globally unique
+ way. It is copied from the NSD content and shall be
+ present after the NSD content is on-boarded.
+ type: string
+ name:
+ description: |
+ Name of the onboarded NSD. This information is
+ copied from the NSD content and shall be present
+ after the NSD content is on-boarded.
+ type: string
+ description:
+ description: |
+ Description of the onboarded NSD.
+ This information is copied from the NSD content.
+ type: string
+ required:
+ - _id
+ - id
+ ArrayOfNsdInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/NsdInfo'
+ ProblemDetails:
+ type: object
+ properties:
+ type:
+ type: string
+ format: uri
+ title:
+ type: string
+ status:
+ type: integer
+ detail:
+ type: string
+ instance:
+ type: string
+ format: uri
+ additionalProperties: true
+ required:
+ - status
+ - detail
+ VnfDescriptor:
+ type: string
+ format: yaml|json
+ VnfPackage:
+ type: string
+ format: binary
+ CreateVnfPkgInfoRequest:
+ # A free list of key:value pairs
+ type: object
+ additionalProperties: true
+ VnfPkgInfoModifications:
+ description: |
+ VNF Package Information
+ Only generic fields (id, name, description) are described
+ For a full specification of the VNF Descriptor see:
+ http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
+ type: object
+ properties:
+ id:
+ description: VNF Package Identifier
+ type: string
+ name:
+ description: VNF Package Name
+ type: string
+ description:
+ description: VNF Package description
+ type: string
+ VnfPkgInfo:
+ description: |
+ VNF Package Information
+ Only generic fields (_id, id, name, description) are described
+ For a full specification of the VNF Descriptor see:
+ http://osm-download.etsi.org/ftp/osm-doc/vnfd.html
+ type: object
+ properties:
+ _id:
+ description: |
+ Identifier of the VNF package. This identifier is allocated by the NFVO.
+ type: string
+ format: uuid
+ id:
+ description: VNF Package Identifier
+ type: string
+ name:
+ description: VNF Package Name
+ type: string
+ description:
+ description: VNF Package description
+ type: string
+ required:
+ - _id
+ - id
+ ArrayOfVnfPkgInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/VnfPkgInfo'
+ # CreateNsRequest:
+ # Substituted by InstantiateNsRequest
+ NsInstance:
+ description: |
+ NS Instance Information
+ Only generic fields (_id, id, name, description) are described
+ For a full specification of the NS Instance see:
+ http://osm-download.etsi.org/ftp/osm-doc/nsr.html
+ type: object
+ properties:
+ _id:
+ description: Identifier of the NS instance.
+ type: string
+ format: uuid
+ id:
+ description: Identifier of the NS instance.
+ type: string
+ format: uuid
+ name:
+ description: Human readable name of the NS instance.
+ type: string
+ description:
+ description: Human readable description of the NS instance.
+ type: string
+ required:
+ - _id
+ - id
+ - name
+ InstantiateNsRequest:
+ type: object
+ properties:
+ nsName:
+ description: |
+ Human-readable name of the NS instance to be created.
+ type: string
+ nsdId:
+ description: |
+ Identifier of the NSD that defines the NS instance to be created.
+ type: string
+ format: uuid
+ vimAccountId:
+ description: |
+ Identifier of the VIM Account where the NS instance shall be created.
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ nsInstanceId:
+ type: string
+ format: uuid
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ nsDescription:
+ type: string
+ nullable: true
+ wimAccountId:
+ oneOf:
+ - type: string
+ - type: boolean
+ nullable: true
+ additionalParamsForNs:
+ type: object
+ additionalProperties: true
+ additionalParamsForVnf: &additionalparamsforvnf
+ type: array
+ items:
+ type: object
+ properties:
+ member-vnf-index:
+ type: string
+ additionalParams:
+ type: object
+ additionalProperties: true
+ k8s-namespace:
+ type: string
+ description: |
+ use this namespace for all the KDU deployed in this VNF
+ (if any). By default it is used the id of the project
+ additionalParamsForVdu:
+ type: array
+ items:
+ type: object
+ properties:
+ vdu_id:
+ type: string
+ additionalParams:
+ type: object
+ additionalProperties: true
+ required:
+ - vdu_id
+ - additionalParams
+ additionalProperties: false
+ additionalParamsForKdu:
+ type: array
+ items:
+ type: object
+ properties:
+ kdu_name:
+ type: string
+ k8s-namespace:
+ type: string
+ description: use this namespace for this KDU
+ kdu_model:
+ type: string
+ additionalParams:
+ type: object
+ additionalProperties: true
+ required:
+ - kdu_name
+ minProperties: 2
+ additionalProperties: false
+ required:
+ - member-vnf-index
+ minProperties: 2
+ additionalProperties: false
+ ssh_keys:
+ type: array
+ items:
+ type: string
+ nsr_id:
+ type: string
+ format: uuid
+ vduImage:
+ type: string
+ placement-engine:
+ type: string
+ description: |
+ To compute automatically the target VIM for each VNF based on
+ constrains, e.g. latency. Currently only 'PLA' is supported
+ placement-constraints:
+ type: object
+ additionalProperties: true
+ k8s-namespace:
+ type: string
+ timeout_ns_deploy:
+ type: integer
+ vnf:
+ type: array
+ items:
+ type: object
+ properties:
+ member-vnf-index:
+ type: string
+ vimAccountId:
+ type: string
+ format: uuid
+ vdu:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ volume:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ vim-volume-id:
+ type: string
+ required:
+ - name
+ - vim-volume-id
+ additionalProperties: false
+ minItems: 1
+ interface:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ ip-address:
+ type: string
+ format: ipv4
+ mac-address:
+ type: string
+ format: mac_address
+ floating-ip-required:
+ type: boolean
+ required:
+ - name
+ additionalProperties: false
+ minItems: 1
+ required:
+ - id
+ additionalProperties: false
+ minItems: 1
+ internal-vld:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ vim-network-name:
+ type: string
+ vim-network-id:
+ type: string
+ ip-profile:
+ type: object
+ properties:
+ ip-version:
+ type: string
+ enum:
+ - ipv4
+ - ipv6
+ subnet-address:
+ type: string
+ format: ip_prefix
+ nullable: true
+ gateway-address:
+ type: string
+ format: ipv4
+ nullable: true
+ dns-server:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ format: ipv4
+ required:
+ - address
+ additionalProperties: false
+ minItems: 1
+ nullable: true
+ dhcp-params:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ count:
+ type: integer
+ minimum: 1
+ start-address:
+ type: string
+ format: ipv4
+ additionalProperties: false
+ nullable: true
+ additionalProperties: false
+ provider-network:
+ type: object
+ properties:
+ physical-network:
+ type: string
+ segmentation-id:
+ type: string
+ network-type:
+ type: string
+ sdn-ports:
+ description: |
+ connect additional ports to the created underlay SDN connectivity.
+ Normally for external connectivy.
+ type: array
+ items:
+ type: object
+ properties:
+ switch_id:
+ type: string
+ switch_port:
+ type: string
+ mac_address:
+ type: string
+ format: mac_address
+ vlan:
+ type: integer
+ additionalProperties: true
+ required:
+ - switch_id
+ - switch_port
+ minItems: 1
+ additionalProperties: false
+ internal-connection-point:
+ type: array
+ items:
+ type: object
+ properties:
+ id-ref:
+ type: string
+ ip-address:
+ type: string
+ format: ipv4
+ required:
+ - id-ref
+ minProperties: 2
+ additionalProperties: False
+ minItems: 1
+ required:
+ - name
+ minProperties: 2
+ additionalProperties: false
+ minItems: 1
+ required:
+ - member-vnf-index
+ minProperties: 2
+ additionalProperties: false
+ minItems: 1
+ vld:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ vim-network-name:
+ oneOf:
+ - type: string
+ - type: object
+ vim-network-id:
+ oneOf:
+ - type: string
+ - type: object
+ ns-net:
+ type: object
+ additionalProperties: true
+ wimAccountId:
+ oneOf:
+ - type: string
+ - type: boolean
+ nullable: true
+ ip-profile:
+ type: object
+ additionalProperties: true
+ provider-network:
+ type: object
+ properties:
+ physical-network:
+ type: string
+ segmentation-id:
+ type: string
+ additionalProperties: false
+ vnfd-connection-point-ref:
+ type: array
+ items:
+ type: object
+ properties:
+ member-vnf-index-ref:
+ type: string
+ vnfd-connection-point-ref:
+ type: string
+ ip-address:
+ type: string
+ format: ipv4
+ required:
+ - member-vnf-index-ref
+ - vnfd-connection-point-ref
+ minProperties: 3
+ additionalProperties: false
+ minItems: 1
+ required:
+ - name
+ additionalProperties: false
+ minItems: 1
+ required:
+ - nsName
+ - nsdId
+ - vimAccountId
+ additionalProperties: false
+ ScaleNsRequest:
+ type: object
+ properties:
+ scaleType:
+ type: string
+ enum:
+ - SCALE_VNF
+ timeout_ns_scale:
+ description: timeout for the scale operation
+ type: integer
+ scaleVnfData:
+ type: object
+ properties:
+ scaleVnfType:
+ type: string
+ enum:
+ - SCALE_IN
+ - SCALE_OUT
+ scaleByStepData:
+ type: object
+ properties:
+ scaling-group-descriptor:
+ type: string
+ scaling-policy:
+ type: string
+ member-vnf-index:
+ type: string
+ required:
+ - scaling-group-descriptor
+ - member-vnf-index
+ additionalProperties: false
+ required:
+ - scaleVnfType
+ - scaleByStepData
+ additionalProperties: false
+ required:
+ - scaleType
+ - scaleVnfData
+ additionalProperties: false
+ HealNsRequest:
+ description: >
+ This type represents request parameters for the "Heal NS" operation. This operation supports the healing of an NS
+ instance by healing one or more of the VNF that are part of this NS.
+ type: object
+ properties:
+ timeout_ns_heal:
+ description: timeout for the heal operation in seconds
+ type: integer
+ healVnfData:
+ description: >
+ List of VNF to be healed, together with the information needed to heal each.
+ type: array
+ items:
+ $ref: "#/components/schemas/HealVnfData"
+ required:
+ - healVnfData
+ HealVnfData:
+ description: >
+ This type represents the information to heal a VNF that is part of an NS.
+ type: object
+ required:
+ - vnfInstanceId
+ properties:
+ vnfInstanceId:
+ description: >
+ Identifies the VNF instance, part of the NS, requiring a
+ healing action.
+ type: string
+ format: uuid
+ cause:
+ description: >
+ Indicates the reason why a healing procedure is required.
+ type: string
+ additionalParams:
+ description: >
+ Additional parameters passed by the NFVO as input to
+ the healing process, specific to the VNF being healed.
+ type: object
+ properties:
+ run-day1:
+ description: >
+ Flag to indicate whether or not to run day1 primitives for the VNF (default: false).
+ type: boolean
+ default: false
+ vdu:
+ description: >
+ List of VDU to be healed, together with the information needed to heal each.
+ type: array
+ items:
+ $ref: "#/components/schemas/HealVduData"
+ HealVduData:
+ description: >
+ This type represents the information to heal a VDU that is part of a VNF.
+ type: object
+ required:
+ - vdu-id
+ properties:
+ vdu-id:
+ description: >
+ Identifies the VDU id, part of the VNF, requiring a healing action.
+ type: string
+ format: uuid
+ count-index:
+ description: >
+ Indicates the VDU number when the VDU is part of a scale-group.
+ type: integer
+ minimum: 0
+ run-day1:
+ description: >
+ Flag to indicate whether or not to run day1 primitives for the VDU (default: false).
+ type: boolean
+ default: false
+ NSinstanceMigrateRequest:
+ description: >
+ This type represents request parameters for the "Migrate" operation. This operation supports the migration of an NS
+ instance by migrating one or more of the VDUs that are part of this NS.
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ migrateToHost:
+ type: string
+ vdu:
+ type: object
+ properties:
+ vduId:
+ type: string
+ vduCountIndex:
+ type: integer
+ required:
+ - vduId
+ required:
+ - vnfInstanceId
+ additionalProperties: false
+ TerminateNsRequest:
+ type: object
+ properties:
+ timeout_ns_terminate:
+ description: timeout for terminate operation
+ type: integer
+ autoremove:
+ description: remove network service if termination end without error
+ type: boolean
+ skip_terminate_primitives:
+ description: Do not execute network service termination primitives
+ type: boolean
+ additionalProperties: false
+ ArrayOfNsInstance:
+ type: array
+ items:
+ $ref: '#/components/schemas/NsInstance'
+ NSinstanceActionRequest:
+ type: object
+ properties:
+ primitive:
+ type: string
+ description: |
+ name of the primitive in the 'config-descriptor'. If the target is
+ a kdu it can be also 'status', 'rollback' or 'upgrade'
+ primitive_params:
+ description: parameters of this primitive
+ $ref: '#/components/schemas/KeyValuePairs'
+ member_vnf_index:
+ type: string
+ description: provide if the target action is for a vnf, vdu or kdu
+ vdu_id:
+ type: string
+ description: provide if the target action is for a vdu
+ kdu_name:
+ type: string
+ description: provide if the target action is for a kdu
+ vdu_count_index:
+ type: integer
+ timeout_ns_action:
+ description: timeout for the day 1/2 operation
+ type: integer
+ required:
+ - primitive
+ - primitive_params
+ additionalProperties: false
+ UpdateNsRequest:
+ description: >
+ This type represents request parameters for the "Update NS" operation. This operation supports the update of an NS
+ instance by updating one or more of the VNFs that are part of this NS.
+ type: object
+ properties:
+ updateType:
+ type: string
+ enum:
+ - CHANGE_VNFPKG
+ - REMOVE_VNF
+ - MODIFY_VNF_INFORMATION
+ - OPERATE_VNF
+ changeVnfPackageData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ vnfdId:
+ type: string
+ required:
+ - vnfInstanceId
+ - vnfdId
+ removeVnfInstanceId:
+ type: string
+ modifyVnfInfoData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ vnfdId:
+ type: string
+ required:
+ - vnfInstanceId
+ - vnfdId
+ operateVnfData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ changeStateTo:
+ type: string
+ additionalParam:
+ type: object
+ properties:
+ run-day1:
+ type: boolean
+ vdu_id:
+ type: string
+ count-index:
+ type: number
+ required:
+ - vdu_id
+ - count-index
+ required:
+ - vnfInstanceId
+ - changeStateTo
+ additionalProperties: false
+ required:
+ - updateType
+ additionalProperties: false
+ VerticalscaleNsRequest:
+ description: >
+ This type represents request parameters for the "Vertical Scale NS" operation.
+ This operation supports the vertical scale of an NS instance by verticalscaling
+ one or more of the VNFs that are part of this NS.
+ type: object
+ properties:
+ verticalScale:
+ type: string
+ changeVnfFlavorData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ format: uuid
+ additionalParams:
+ type: object
+ properties:
+ vduid:
+ type: string
+ format: uuid
+ vduCountIndex:
+ type: integer
+ virtualMemory:
+ type: integer
+ sizeOfStorage:
+ type: integer
+ numVirtualCpu:
+ type: integer
+ required:
+ - vnfInstanceId
+ - additionalParams
+ additionalProperties: false
+ required:
+ - verticalScale
+ additionalProperties: false
+ # CreateNSinstanceContentRequest:
+ # Substituted by InstantiateNsRequest
+ CreateNSinstanceContentResponse:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ nslcmop_id:
+ type: string
+ format: uuid
+ NsLcmOpOcc:
+ type: object
+ properties:
+ _id:
+ type: string
+ format: uuid
+ id:
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ nsInstanceId:
+ type: string
+ format: uuid
+ isAutomaticInvocation:
+ type: boolean
+ isCancelPending:
+ type: boolean
+ startTime:
+ type: number
+ format: float
+ statusEnteredTime:
+ type: number
+ format: float
+ operationParams:
+ type: object
+ properties:
+ nsName:
+ type: string
+ nsdId:
+ type: string
+ format: uuid
+ vimAccountId:
+ type: string
+ format: uuid
+ nsInstanceId:
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ operationState:
+ type: string
+ detailed-status:
+ type: string
+ links:
+ type: object
+ properties:
+ self:
+ type: string
+ format: path # uri?
+ nsInstance:
+ type: string
+ format: path # uri?
+ ArrayOfNsLcmOpOcc:
+ type: array
+ items:
+ $ref: '#/components/schemas/NsLcmOpOcc'
+ VnfInstanceInfo:
+ description: |
+ VNF Instance Information
+ Only generic fields (_id, id) are described
+ For a full specification of the VNF Instance see:
+ http://osm-download.etsi.org/ftp/osm-doc/vnfr.html
+ type: object
+ properties:
+ _id:
+ type: string
+ format: uuid
+ id:
+ type: string
+ format: uuid
+ ArrayOfVnfInstanceInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/VnfInstanceInfo'
+ NstInfo:
+ description: |
+ NetSlice Template Information
+ Only generic fields (_id, id, name) are described
+ For a full specification of the NetSlice Template see:
+ http://osm-download.etsi.org/ftp/osm-doc/nst.html
+ type: object
+ properties:
+ _id:
+ description: NetSlice Template Identifier
+ type: string
+ format: uuid
+ id:
+ description: Human readable NetSlice Template Identifier
+ type: string
+ name:
+ description: Human readable name of the NetSlice Template
+ type: string
+ ArrayOfNstInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/NstInfo'
+ CreateNstInfoRequest:
+ # A free list of key:value pairs
+ type: object
+ additionalProperties: true
+ NetSliceTemplate:
+ type: string
+ format: yaml|json
+ NetSlicePackage:
+ type: string
+ format: binary
+ NstInfoModifications:
+ description: |
+ NetSlice Template Information
+ Only generic fields (id, name) are described
+ For a full specification of the NetSlice Template see:
+ http://osm-download.etsi.org/ftp/osm-doc/nst.html
+ type: object
+ properties:
+ id:
+ description: NST Identifier
+ type: string
+ name:
+ description: NST Name
+ type: string
+ NetSliceInstance:
+ description: |
+ NetSlice Instance Information
+ Only generic fields (_id, id, name, description) are described
+ For a full specification of the NetSlice Instance see:
+ http://osm-download.etsi.org/ftp/osm-doc/nsi.html
+ type: object
+ properties:
+ _id:
+ description: Identifier of the NetSlice instance.
+ type: string
+ format: uuid
+ id:
+ description: Identifier of the NetSlice instance.
+ type: string
+ format: uuid
+ name:
+ description: Human readable name of the NetSlice instance.
+ type: string
+ description:
+ description: Human readable description of the NetSlice instance.
+ type: string
+ required:
+ - _id
+ - id
+ - name
+ ArrayOfNetSliceInstance:
+ type: array
+ items:
+ $ref: '#/components/schemas/NetSliceInstance'
+ Alarm:
+ description: |
+ Alarm Information
+ type: object
+ properties:
+ _id:
+ description: Identifier of the Alarm.
+ type: string
+ format: uuid
+ id:
+ description: Identifier of the Alarm.
+ type: string
+ format: uuid
+ metric:
+ description: Alarm metric.
+ type: string
+ threshold:
+ description: Threshold value of the Alarm.
+ type: number
+ format: float
+ operation:
+ description: Operation to be applied.
+ type: string
+ action:
+ description: Action to be taken.
+ type: string
+ status:
+ description: Current status of the alarm.
+ type: string
+ required:
+ - _id
+ - id
+ - metric
+ - threshold
+ - operation
+ ArrayOfAlarm:
+ type: array
+ items:
+ $ref: '#/components/schemas/Alarm'
+ # CreateNsiRequest:
+ # Substituted by InstantiateNsiRequest
+ InstantiateNsiRequest:
+ type: object
+ properties:
+ nsiName:
+ description: |
+ Human-readable name of the NetSlice instance to be created.
+ type: string
+ nstId:
+ description: |
+ Identifier of the NST that defines the NetSlice instance to be created.
+ type: string
+ format: uuid
+ vimAccountId:
+ description: |
+ Identifier of the VIM Account where the NetSlice instance shall be created.
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ nsiDescription:
+ type: string
+ nullable: true
+ ssh_keys:
+ type: string
+ nsi_id:
+ type: string
+ format: uuid
+ additionalParamsForNsi:
+ type: object
+ additionalProperties: true
+ netslice-subnet:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ nsName:
+ type: string
+ nsdId:
+ type: string
+ format: uuid
+ vimAccountId:
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ nsInstanceId:
+ type: string
+ format: uuid
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ nsDescription:
+ type: string
+ nullable: true
+ wimAccountId:
+ oneOf:
+ - type: string
+ - type: boolean
+ nullable: true
+ additionalParamsForNs:
+ type: object
+ additionalProperties: true
+ additionalParamsForVnf: *additionalparamsforvnf
+ ssh_keys:
+ type: array
+ items:
+ type: string
+ nsr_id:
+ type: string
+ format: uuid
+ vduImage:
+ type: string
+ vnf:
+ type: array
+ items:
+ type: object
+ properties:
+ member-vnf-index:
+ type: string
+ vimAccountId:
+ type: string
+ format: uuid
+ vdu:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ volume:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ vim-volume-id:
+ type: string
+ required:
+ - name
+ - vim-volume-id
+ additionalProperties: false
+ minItems: 1
+ interface:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ ip-address:
+ type: string
+ format: ipv4
+ mac-address:
+ type: string
+ format: mac_address
+ floating-ip-required:
+ type: boolean
+ required:
+ - name
+ additionalProperties: false
+ minItems: 1
+ required:
+ - id
+ additionalProperties: false
+ minItems: 1
+ internal-vld:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ vim-network-name:
+ type: string
+ vim-network-id:
+ type: string
+ ip-profile:
+ type: object
+ properties:
+ ip-version:
+ type: string
+ enum:
+ - ipv4
+ - ipv6
+ subnet-address:
+ type: string
+ format: ip_prefix
+ nullable: true
+ gateway-address:
+ type: string
+ format: ipv4
+ nullable: true
+ dns-server:
+ type: array
+ items:
+ type: object
+ properties:
+ address:
+ type: string
+ format: ipv4
+ required:
+ - address
+ additionalProperties: false
+ minItems: 1
+ nullable: true
+ dhcp-params:
+ type: object
+ properties:
+ enabled:
+ type: boolean
+ count:
+ type: integer
+ minimum: 1
+ start-address:
+ type: string
+ format: ipv4
+ additionalProperties: false
+ nullable: true
+ additionalProperties: false
+ provider-network:
+ type: object
+ properties:
+ physical-network:
+ type: string
+ segmentation-id:
+ type: string
+ additionalProperties: false
+ internal-connection-point:
+ type: array
+ items:
+ type: object
+ properties:
+ id-ref:
+ type: string
+ ip-address:
+ type: string
+ format: ipv4
+ required:
+ - id-ref
+ minProperties: 2
+ additionalProperties: False
+ minItems: 1
+ required:
+ - name
+ minProperties: 2
+ additionalProperties: false
+ minItems: 1
+ required:
+ - member-vnf-index
+ minProperties: 2
+ additionalProperties: false
+ minItems: 1
+ vld:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ vim-network-name:
+ oneOf:
+ - type: string
+ - type: object
+ vim-network-id:
+ oneOf:
+ - type: string
+ - type: object
+ ns-net:
+ type: object
+ additionalProperties: true
+ wimAccountId:
+ oneOf:
+ - type: string
+ - type: boolean
+ nullable: true
+ ip-profile:
+ type: object
+ additionalProperties: true
+ provider-network:
+ type: object
+ properties:
+ physical-network:
+ type: string
+ segmentation-id:
+ type: string
+ additionalProperties: false
+ vnfd-connection-point-ref:
+ type: array
+ items:
+ type: object
+ properties:
+ member-vnf-index-ref:
+ type: string
+ vnfd-connection-point-ref:
+ type: string
+ ip-address:
+ type: string
+ format: ipv4
+ required:
+ - member-vnf-index-ref
+ - vnfd-connection-point-ref
+ minProperties: 3
+ additionalProperties: false
+ minItems: 1
+ required:
+ - name
+ additionalProperties: false
+ minItems: 1
+ additionalProperties: false
+ minItems: 1
+ netslice-vld:
+ type: array
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ vim-network-name:
+ oneOf:
+ - type: string
+ - type: object
+ vim-network-id:
+ oneOf:
+ - type: string
+ - type: object
+ ip-profile:
+ type: object
+ additionalProperties: true
+ required:
+ - name
+ additionalProperties: false
+ minItems: 1
+ required:
+ - nsiName
+ - nstId
+ - vimAccountId
+ additionalProperties: false
+ TerminateNsiRequest:
+ type: object
+ properties:
+ terminationTime:
+ description: |
+ Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
+ automatically at this timestamp. Cardinality "0" indicates the NSI termination
+ takes place immediately.
+ type: string
+ format: date-time
+ NsiActionRequest:
+ type: object
+ properties:
+ primitive:
+ type: string
+ primitive_params:
+ $ref: '#/components/schemas/KeyValuePairs'
+ lcmOperationType:
+ type: string
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ required:
+ - primitive
+ - primitive_params
+ # CreateNsiContentRequest:
+ # Substituted by InstantiateNsiRequest
+ CreateNsiContentResponse:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ nsilcmop_id:
+ type: string
+ format: uuid
+ NsiLcmOpOcc:
+ type: object
+ properties:
+ _id:
+ type: string
+ format: uuid
+ id:
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ isAutomaticInvocation:
+ type: boolean
+ isCancelPending:
+ type: boolean
+ startTime:
+ type: number
+ format: float
+ statusEnteredTime:
+ type: number
+ format: float
+ operationParams:
+ type: object
+ properties:
+ nsiName:
+ type: string
+ nstId:
+ type: string
+ format: uuid
+ vimAccountId:
+ type: string
+ format: uuid
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ nslcmops_ids:
+ type: array
+ items:
+ type: string
+ format: uuid
+ operationState:
+ type: string
+ detailed-status:
+ type: string
+ links:
+ type: object
+ properties:
+ self:
+ type: string
+ format: path # uri?
+ netsliceInstanceId:
+ type: string
+ format: path # uri?
+ ArrayOfNsiLcmOpOcc:
+ type: array
+ items:
+ $ref: '#/components/schemas/NsiLcmOpOcc'
+ TokenInfo:
+ type: object
+ properties:
+ _id:
+ type: string
+ id:
+ type: string
+ admin:
+ type: boolean
+ project_id:
+ type: string
+ format: uuid
+ user_id:
+ type: string
+ format: uuid
+ project_name:
+ type: string
+ username:
+ type: string
+ issued_at:
+ type: number
+ format: float
+ expires:
+ type: number
+ format: float
+ remote_host:
+ type: string
+ format: ipv4
+ remote_port:
+ type: integer
+ roles:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ name:
+ type: string
+ 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
+ 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
- nsdDesigner:
- description: |
- Designer of the on-boarded NSD. This information is
- copied from the NSD content and shall be present
- after the NSD content is on-boarded.
+ type:
type: string
- nsdInvariantId:
- description: |
- This identifier, which is allocated by the NSD designer,
- identifies an NSD in a version independent manner. This
- information is copied from the NSD content and shall be
- present after the NSD content is on-boarded.
+ description:
type: string
- format: uuid
- vnfPkgIds:
- description: |
- List of VNF package identifiers referenced by the on-boarded
- NS descriptor resource.
+ shared:
+ type: boolean
+ vims:
type: array
items:
type: string
- format: uuid
- pnfdInfoIds:
- description: |
- List of PNFD identifiers referenced by the on-boarded NS
- descriptor resource.
+ vim_accounts:
type: array
items:
type: string
- format: uuid
- nestedNsdInfoIds:
- description: |
- List of NSD identifiers referenced by the on-boarded NS
- descriptor resource.
+ 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
- format: uuid
- nsdOnboardingState:
- description: |
- Onboarding state of the individual NS descriptor resource.
- $ref: '#components/schemas/NsdOnboardingStateType'
- onboardingFailureDetails:
- description: |
- Failure details of current onboarding procedure. It follows
- the "ProblemDetails" structure. It shall be present when the
- "nsdOnboardingState" attribute is CREATED and the uploading or
- processing fails in NFVO.
- $ref: '#/components/schemas/ProblemDetails'
- nsdOperationalState:
- description: |
- Operational state of the individual NS descriptor resource. This
- attribute can be modified with the PATCH method. If the value of
- the nsdOnboardingState attribute is not equal to "ONBOARDED", the
- value of the nsdOperationalState attribute shall be equal to
- "DISABLED".
- $ref: '#components/schemas/NsdOperationalStateType'
- nsdUsagestate:
- description: |
- Usage state of the individual NS descriptor resource. If the value
- of the nsdOnboardingState attribute is not equal to "ONBOARDED",
- the value of the nsdUsageState attribute shall be equal to
- "NOT_IN_USE".
- $ref: '#components/schemas/NsdUsageStateType'
- userDefinedData:
- $ref: '#/components/schemas/KeyValuePairs'
- _links:
- description: |
- Links to resources related to this resource
+ 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:
+ helm-chart:
+ type: boolean
+ juju-bundle:
+ type: boolean
+ helm-chart-v3:
+ type: boolean
+ additionalProperties: false
+ minProperties: 3
+ K8sClusterInfo:
+ type: object
+ properties:
+ _id:
type: string
- self:
- description: |
- URI of this resource
+ format: uuid
+ schema_version:
type: string
- format: uri
- nsd_content:
- description: |
- Link to the NSD content resource.
+ format: X.Y[.Z]
+ schema_type:
type: string
- format: uri
- required:
- - id
- - nsdOnboardingState
- - nsdOperationalState
- - nsdUsageState
- - _links
- - self
- - nsd_content
- ArrayOfNsdInfo:
+ 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/NsdInfo'
- ProblemDetails:
+ $ref: '#/components/schemas/K8sClusterInfo'
+ CreateK8sClusterRequest:
type: object
properties:
- type:
+ schema_version:
type: string
- format: uri
- title:
+ format: X.Y[.Z]
+ schema_type:
type: string
- status:
- type: integer
- detail:
+ name:
type: string
- instance:
+ description:
type: string
- format: uri
- additionalProperties: true
+ 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:
- - status
- - detail
- VnfDescriptor:
- type: string
- VnfPackage:
- type: string
- format: binary
- CreateVnfPkgInfoRequest:
- type: object
- properties:
- userDefinedData:
- $ref: '#/components/schemas/KeyValuePairs'
- VnfPackageOnboardingStateType:
- type: string
- enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED]
- description: |
- VNF Package onboarding state:
- * `CREATED` - The VNF Package information object is created.
- * `UPLOADING` - The VNF Package is being uploaded.
- * `PROCESSING` - The VNF Package is being processed, e.g. validation.
- * `ONBOARDED` - The VNF Package is successfully on-boarded.
- VnfPackageOperationalStateType:
- type: string
- enum: [ENABLED, DISABLED]
- description: |
- VNF Package operational state:
- * `ENABLED` - The VNF Package is enabled.
- * `DISABLED` - The VNF Package is disabled.
- VnfPackageUsageStateType:
- type: string
- enum: [IN_USE, NOT_IN_USE]
- description: |
- VNF Package usage state:
- * `IN_USE` - The VNF Package is in use.
- * `NOT_IN_USE` - The VNF Package is not in use.
- #SoftwareImageFormatType:
- # type: string
- # enum: [AKI, AMI, ARI, BARE, DOCKER, OVA, OVF]
- # description: |
- # Software image format. Permitted values:
- # * `AKI`: a kernel image format
- # * `AMI`: a machine image format
- # * `ARI`: a ramdisk image format
- # * `BARE`: the image does not have a container or metadata envelope
- # * `DOCKER`: docker container format
- # * `OVA`: OVF package in a tarfile
- # * `OVF`: OVF container format
- VnfPackageSoftwareImageInfo:
- type: object
- additionalProperties: true
- #properties:
- #id:
- # description: |
- # Identifier of the software image, unique in the scope of a VNFD.
- # type: string
- #name:
- # description: |
- # Name of the software image.
- # type: string
- #provider:
- # description: |
- # Provider of the software image.
- # type: string
- #version:
- # description: |
- # Version of the software image.
- # type: string
- #checksum:
- # description: |
- # Checksum of the software image file.
- # type: string
- #containerFormat:
- # description: |
- # Container format indicates whether the software image is in a
- # file format that also contains metadata about the actual
- # software.
- # $ref: '#/components/schemas/SoftwareImageFormatType'
- #diskFormat:
- # description: |
- # Disk format of a software image is the format of the underlying
- # disk image.
- # $ref: '#/components/schemas/DiskFormatType'
- # ...
- VnfPackageArtifactInfo:
- type: object
- additionalProperties: true
- VnfPkgInfoModifications:
+ - name
+ - credentials
+ - vim_account
+ - k8s_version
+ - nets
+ additionalProperties: false
+ EditK8sClusterRequest:
type: object
properties:
- operationalState:
- $ref: '#/components/schemas/VnfPackageOperationalStateType'
- userDefinedData:
- $ref: '#/components/schemas/KeyValuePairs'
- VnfPkgInfo:
+ 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:
- description: |
- Identifier of the VNF package. This identifier is allocated by the NFVO.
+ _id:
type: string
format: uuid
- vnfdId:
- description: |
- This identifier, which is managed by the VNF provider, identifies
- the VNF package and the VNFD in a globally unique way. It's
- copied from the VNFD of the on-boarded VNF package. It shall be
- present after the VNF package content has been on-boarded and
- absent otherwise.
+ schema_version:
type: string
- format: uuid
- vnfProvider:
- description: |
- Deovider of the VNF pacakge and the VNFD. This information is
- copied from the VNFD. It shall be present after the VNF package
- content has been on-boarded and absent otherwise.
+ format: X.Y[.Z]
+ schema_type:
type: string
- vnfProductName:
- description: |
- Name to identify the VNF product. Invariant for the VNF product
- ligetime. This information is copied from the VNFD. It shall be
- present after the VNF package content has been on-boarded and
- absent otherwise.
+ name:
type: string
- vnfSoftwareVersion:
- description: |
- Software version of the VNF. This is changed when there is any
- change to the software included in the VNF package. This
- information is copied from the VNFD. It shall be present after the
- VNF package content has been on-boarded and absent otherwise.
+ description:
type: string
- vnfdVersion:
- description: |
- The version of the VNFD. TSof information is copied from the VNFD.
- It shall be present after the VNF package content has been
- on-boarded and absent otherwise.
+ endpoints:
type: string
- checksum:
- description: |
- Checksum of the on-boarded VNF package. It shall be present after
- the VNF package content has been on-boarded and absent otherwise.
+ user:
type: string
- softwareImages:
- description: |
- Information about VNF package artifacts that are software images.
- This attribute shall not be present before the VNF package content
- is on-boarded. Otherwise, this attribute shall be present unless
- it has been requested to be excluded per attribute selector.
- type: array
- items:
- $ref: '#/components/schemas/VnfPackageSoftwareImageInfo'
- additionalArtifacts:
- description: |
- Information about VNF package artifacts contained in the VNF
- package that are not software images. This attribute shall not be
- present before the VNF package content is on-boarded. Otherwise,
- this attribute shall be present if the VNF package contains
- additional artifacts.
- type: array
- items:
- $ref: '#/components/schemas/VnfPackageArtifactInfo'
- onboardingState:
- description: |
- On-boarding state of the VNF package.
- $ref: '#components/schemas/VnfPackageOnboardingStateType'
- operationalState:
- description: |
- Operational state of the VNF package. If the value of the
- onboardingState attribute is not equal to "ONBOARDED", the value
- of the operationalState attribute shall be equal to "DISABLED".
- $ref: '#components/schemas/VnfPackageOperationalStateType'
- usageState:
- description: |
- Usage state of the VNF package. If the value of the
- onboardingState attribute is not equal to "ONBOARDED", the value
- of the usageState attribute shall be equal to "NOT_IN_USE".
- $ref: '#components/schemas/VnfPackageUsageStateType'
- userDefinedData:
- description: |
- User defined data for the VNF package
- $ref: '#/components/schemas/KeyValuePairs'
- _links:
- description: |
- Links to resources related to this resource
+ secret:
type: string
- self:
- description: |
- URI of this resource
+ cacert:
type: string
- format: uri
- vnfd:
- description: |
- Link to the VNFD resource. This link shall be present after the VNF
- package content is on-boarded.
+ lxd-cloud:
type: string
- format: uri
- package_content:
- description: |
- Link to the "VNF package content" resource.
+ lxd-credentials:
type: string
- format: uri
- required:
- - id
- - onboardingState
- - operationalState
- - usageState
- - _links
- - self
- - package_content
- ArrayOfVnfPkgInfo:
+ k8s-cloud:
+ type: string
+ k8s-credentials:
+ type: string
+ model-config:
+ type: object
+ additionalProperties: true
+ ArrayOfVcaInfo:
type: array
items:
- $ref: '#/components/schemas/VnfPkgInfo'
- UploadVnfPackageFromUriRequest:
+ $ref: '#/components/schemas/VcaInfo'
+ CreateVcaRequest:
type: object
properties:
- addressInformation:
- description: |
- Address information of the VNF package content. The NFVO can use
- this address to obtain the VNF package.
+ schema_version:
type: string
- format: uri
- userName:
- description: |
- User name to be used for authentication. Shall be present if user
- name is needed but has not been provisioned out of band.
+ format: X.Y[.Z]
+ schema_type:
type: string
- password:
- description: |
- Password to be used for authentication. Shall be present if password
- is needed but has not been provisioned out of band.
+ 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:
- - addressInformation
- CreateNsRequest:
+ - name
+ - endpoints
+ - user
+ - secret
+ - cacert
+ - lxd-cloud
+ - lxd-credentials
+ - k8s-cloud
+ - k8s-credentials
+ additionalProperties: false
+ EditVcaRequest:
type: object
properties:
- nsdId:
- description: |
- Identifier of the NSD that defines the NS instance to be created.
+ name:
type: string
- format: uuid
- nsName:
- description: |
- Human-readable name of the NS instance to be created.
+ description:
type: string
- nsDescription:
- description: |
- Human-readable description of the NS instance to be created.
+ endpoints:
type: string
- required:
- - nsdId
- - nsName
- - nsDescription
- NsStateType:
+ 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: [NOT_INSTANTIATED, INSTANTIATED]
- description: |
- State of the NS instance. Permitted values:
- * `NOT_INSTANTIATED`: The NS instance is terminated or not instantiated.
- * `INSTANTIATED`: The NS instance is instantiated.
- NsInstance:
+ enum:
+ - chart
+ - bundle
+ K8sRepoInfo:
type: object
properties:
- id:
- description: Identifier of the NS instance.
+ _id:
type: string
format: uuid
- nsInstanceName:
- description: Human readable name of the NS instance.
+ name:
type: string
- nsInstanceDescription:
- description: Human readable description of the NS instance.
+ description:
type: string
- nsdId:
- description: Identifier of the NSD on which the NS instance is based.
+ type:
+ $ref: '#/components/schemas/K8sRepoType'
+ url:
type: string
- format: uuid
- flavourId:
- description: |
- Identifier of the NS deployment flavour applied to the NS instance.
- This attribute shall be present if the nsState attribute value is
- INSTANTIATED.
+ format: uri
+ username:
type: string
- vnfInstance:
- description: |
- Information on constituent VNF(s) of the NS instance. If the
- "nsState" attribute is INSTANTIATED, at least either one
- "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall
- be present.
- type: array
- items:
- $ref: '#/components/schemas/VnfInstance'
- pnfInfo:
- description: |
- Information on the PNF(s) that are part of the NS instance.
- type: array
- items:
- $ref: '#/components/schemas/PnfInfo'
- virtualLinkInfo:
- description: |
- Information on the VL(s) of the NS instance. This attribute shall
- be present if the nsState attribute value is INSTANTIATED and if
- the NS instance has specified connectivity.
- type: array
- items:
- $ref: '#/components/schemas/NsVirtualLinkInfo'
- vnffgInfo:
- description: |
- Information on the VNFFG(s) of the NS instance.
- type: array
- items:
- $ref: '#/components/schemas/VnffgInfo'
- sapInfo:
- description: |
- Information on the SAP(s) of the NS instance.
- type: array
- items:
- $ref: '#/components/schemas/SapInfo'
- nestedNsInstanceId:
- description: |
- Identifier of the nested NS(s) of the NS instance. If the "nsState"
- attribute is INSTANTIATED, at least either one "vnfInstance"
- attribute or one "nestedNsInstanceId" attribute shall be present.
- type: array
- items:
- type: string
- format: uuid
- nsState:
- description: |
- The state of the NS instance.
- $ref: '#components/schemas/NsStateType'
- nsScaleStatus:
- description: |
- Status of each NS scaling aspect declared in the applicable DF,
- how "big" the NS instance has been scaled w.r.t. that aspect. This
- attribute shall be present if the nsState attribute value is
- INSTANTIATED.
- type: array
- items:
- $ref: '#/components/schemas/NsScaleInfo'
- additionalAffinityOrAntiAffinityRule:
- description: |
- Information on the additional affinity or anti-affinity rule from
- NS instantiation operation. Shall not conflict with rules already
- specified in the NSD.
- type: array
- items:
- $ref: '#/components/schemas/AffinityOrAntiAffinityRule'
- _links:
- description: |
- Links to resources related to this resource
+ description: repository username
+ password:
type: string
- self:
- description: |
- URI of this resource
+ description: repository password
+ ca-file:
type: string
- format: uri
- nestedNsInstances:
- description: |
- Links to the nested NS instances of the present NS instance.
- type: array
- items:
- type: string
- format: uri
- instantiate:
- description: |
- Link to the "instantiate" task resource, if the related operation
- is possible based on the current status of this NS instance
- resource (i.e. NS instance in NOT_INSTANTIATED state).
+ description: verify certificates of HTTPS-enabled servers using this CA bundle
+ cert-file:
type: string
- format: uri
- terminate:
- description: |
- Link to the "terminate" task resource, if the related operation is
- possible based on the current status of this NS instance resource
- (i.e. NS instance is in INSTANTIATED state).
+ 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
- format: uri
- update:
- description: |
- Link to the "update" task resource, if the related operation is
- possible based on the current status of this NS instance resource
- (i.e. NS instance is in INSTANTIATED state).
+ description: identify HTTPS client using this SSL key file
+ ArrayOfK8sRepoInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/K8sRepoInfo'
+ CreateK8sRepoRequest:
+ type: object
+ properties:
+ name:
type: string
- format: uri
- scale:
- description: |
- Link to the "scale" task resource, if the related operation is
- supported for this NS instance, and is possible based on the
- current status of this NS instance resource (i.e. NS instance is in
- INSTANTIATED state).
+ description:
type: string
- format: uri
- heal:
- description: |
- Link to the "heal" task resource, if the related operation is
- supported for this NS instance, and is possible based on the
- current status of this NS instance resource (i.e. NS instance is in
- INSTANTIATED state).
+ type:
+ $ref: '#/components/schemas/K8sRepoType'
+ url:
type: string
format: uri
required:
- - id
- - nsInstanceName
- - nsInstanceDescription
- - nsdId
- - nsdInfoId
- - nsState
- - _links
- - self
- VnfInstance:
- type: object
- additionalProperties: true
- PnfInfo:
- type: object
- additionalProperties: true
- NsVirtualLinkInfo:
- type: object
- additionalProperties: true
- VnffgInfo:
- type: object
- additionalProperties: true
- SapInfo:
+ - name
+ - type
+ - url
+ additionalProperties: false
+ NslcmSubscriptionResponse:
type: object
- additionalProperties: true
- NsScaleInfo:
- type: object
- additionalProperties: true
- AffinityOrAntiAffinityRule:
- type: object
- additionalProperties: true
- SapData:
- type: object
- additionalProperties: true
- AddPnfData:
- type: object
- additionalProperties: true
- VnfInstanceData:
- type: object
- additionalProperties: true
- VnfLocationConstraint:
+ properties:
+ id:
+ type: string
+ format: uuid
+ filter:
+ type: object
+ CallbackUri:
+ type: string
+ format: uri
+ _links:
+ type: object
+ NslcmSubscriptionInfo:
type: object
- additionalProperties: true
- ParamsForVnf:
+ 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
- additionalProperties: true
- InstantiateNsRequest:
+ 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:
- nsFlavourId:
- description: Identifier of the NS deployment flavour to be instantiated.
- type: string
- sapData:
- description: Create data concerning the SAPs of this NS.
- type: array
- items:
- $ref: '#/components/schemas/SapData'
- addpnfData:
- description: Information on the PNF(s) that are part of this NS.
+ 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:
- $ref: '#/components/schemas/AddPnfData'
- vnfInstanceData:
- description: |
- Specify an existing VNF instance to be used in the NS. If needed,
- the VNF Profile to be used for this VNF instance is also provided.
+ type: string
+ enum:
+ - NsIdentifierCreationNotification
+ - NsIdentifierDeletionNotification
+ - NsLcmOperationOccurrenceNotification
+ - NsChangeNotification
+ operationTypes:
type: array
items:
- $ref: '#/components/schemas/VnfInstanceData'
- nestedNsInstanceId:
- description: |
- Specify an existing NS instance to be used as a nested NS within the NS.
+ type: string
+ enum:
+ - INSTANTIATE
+ - SCALE
+ - TERMINATE
+ - UPDATE
+ - HEAL
+ operationStates:
type: array
items:
type: string
- format: uuid
- localizationLanguage:
- description: |
- Defines the location constraints for the VNF to be instantiated as part of
- the NS instantiation. An example can be a constraint for the VNF to be in a
- specific geographic location.
+ enum:
+ - PROCESSING
+ - COMPLETED
+ - PARTIALLY_COMPLETED
+ - FAILED
+ - FAILED_TEMP
+ - ROLLING_BACK
+ - ROLLED_BACK
+ nsComponentTypes:
type: array
items:
- $ref: '#/components/schemas/VnfLocationConstraint'
- additionalParamsForNs:
- description: |
- Allows the OSS/BSS to provide additional parameter(s) at the NS level
- (as opposed to the VNF level, which is covered in additionalParamsForVnf).
- $ref: '#/components/schemas/KeyValuePairs'
- additionalParamsForVnf:
- description: |
- Allows the OSS/BSS to provide additional parameter(s) per VNF instance
- (as opposed to the NS level, which is covered in additionalParamsForNs).
- This is for VNFs that are to be created by the NFVO as part of the NS
- instantiation and not for existing VNF that are referenced for reuse.
+ type: string
+ enum:
+ - VNF
+ - NS
+ - PNF
+ lcmOpNameImpactingNsComponent:
type: array
items:
- $ref: '#/components/schemas/ParamsForVnf'
- startTime:
- description: |
- Timestamp indicating the earliest time to instantiate the NS.
- Cardinality "0" indicates the NS instantiation takes place immediately.
- type: string
- format: date-time
- nsInstantiationLevelId:
- description: |
- Identifies one of the NS instantiation levels declared in the DF applicable
- to this NS instance. If not present, the default NS instantiation level as
- declared in the NSD shall be used.
- type: string
- additionalAffinityOrAntiAffiniityRule:
- description: |
- Specifies additional affinity or anti-affinity constraint for the VNF instances
- to be instantiated as part of the NS instantiation. Shall not conflict with rules
- already specified in the NSD.
+ 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:
- $ref: '#/components/schemas/AffinityOrAntiAffinityRule'
- required:
- - nsFlavourId
- UpdateNsRequest:
+ type: string
+ enum:
+ - START
+ - COMPLETED
+ - PARTIALLY_COMPLETED
+ - FAILED
+ - ROLLED_BACK
+ Authenticationschema:
type: object
properties:
- updateType:
+ authType:
type: string
- enum: [ ADD_VNF, REMOVE_VNF, INSTANTIATE_VNF, CHANGE_VNF_DF,
- OPERATE_VNF, MODIFY_VNF_INFORMATION, CHANGE_EXTERNAL_VNF_CONNECTIVITY,
- REMOVE_SAP, ADD_NESTED_NS, REMOVE_NESTED_NS, ASSOC_NEW_NSD_VERSION,
- MOVE_VNF, ADD_VNFFG, REMOVE_VNFFG, UPDATE_VNFFG, CHANGE_NS_DF, ADD_PNF,
- MODIFY_PNF, REMOVE_PNF ]
- description: |
- The type of update. It determines also which one of the following parameters
- is present in the operation. Possible values include:
- * `ADD_VNF`: Adding existing VNF instance(s)
- * `REMOVE_VNF`: Removing VNF instance(s)
- * `INSTANTIATE_VNF`: Instantiating new VNF(s)
- * `CHANGE_VNF_DF`: Changing VNF DF
- * `OPERATE_VNF`: Changing VNF state,
- * `MODIFY_VNF_INFORMATION`: Modifying VNF information and/or the configurable
- properties of VNF instance(s)
- * `CHANGE_EXTERNAL_VNF_CONNECTIVITY`: Changing the external connectivity of VNF
- instance(s)
- * `ADD_SAP`: Adding SAP(s)
- * `REMOVE_SAP`: Removing SAP(s)
- * `ADD_NESTED_NS`: Adding existing NS instance(s) as nested NS(s)
- * `REMOVE_NESTED_NS`: Removing existing nested NS instance(s)
- * `ASSOC_NEW_NSD_VERSION`: Associating a new NSD version to the NS instance
- * `MOVE_VNF`: Moving VNF instance(s) from one origin NS instance to another target NS
- instance
- * `ADD_VNFFG`: Adding VNFFG(s)
- * `REMOVE_VNFFG`: Removing VNFFG(s)
- * `UPDATE_VNFFG`: Updating VNFFG(s)
- * `CHANGE_NS_DF`: Changing NS DF
- * `ADD_PNF`: Adding PNF
- * `MODIFY_PNF`: Modifying PNF
- * `REMOVE_PNF`: Removing PNF
- # Specific properties are required for each updateType. Pending to be added.
- additionalProperties: true
- required:
- - updateType
- ScaleNsRequest:
- type: object
- additionalProperties: true
- HealNsData:
- type: object
- additionalProperties: true
- HealVnfData:
- type: object
- additionalProperties: true
- HealNsRequest:
- type: object
- properties:
- healNsData:
- description: |
- Provides the information needed to heal an NS. Either the parameter healNsData
- or the parameter healVnfData, but not both shall be provided.
- $ref: '#/components/schemas/HealNsData'
- healVnfData:
- description: |
- Provides the information needed to heal a VNF. Either the parameter healNsData
- or the parameter healVnfData, but not both shall be provided.
- type: array
- items:
- $ref: '#/components/schemas/HealVnfData'
- TerminateNsRequest:
+ enum:
+ - basic
+ paramsBasic:
+ type: object
+ properties:
+ userName:
+ type: string
+ password:
+ type: string
+ NslcmSubscriptionRequest:
type: object
properties:
- terminationTime:
- description: |
- Timestamp indicating the end time of the NS, i.e. the NS will be terminated
- automatically at this timestamp. Cardinality "0" indicates the NS termination
- takes place immediately.
+ filter:
+ $ref: '#/components/schemas/Nslcmsubschema'
+ CallbackUri:
type: string
- format: date-time
- ArrayOfNsInstance:
- type: array
- items:
- $ref: '#/components/schemas/NsInstance'
+ format: uri
+ authentication:
+ $ref: '#/components/schemas/Authenticationschema'
+ required:
+ - CallbackUri
+ # END SCHEMAS
+
requestBodies:
CreateNsdInfoRequest:
content:
application/yaml:
schema:
$ref: '#/components/schemas/NsdInfoModifications'
- NsdContent:
+ 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'
application/zip:
schema:
$ref: '#/components/schemas/VnfPackage'
- UploadVnfPackageFromUriRequest:
+ VnfDescriptor:
+ content:
+ text/plain:
+ schema:
+ $ref: '#/components/schemas/VnfDescriptor'
+ # CreateNsRequest:
+ # Substituted by InstantiateNsRequest
+ InstantiateNsRequest:
content:
application/json:
schema:
- $ref: '#/components/schemas/UploadVnfPackageFromUriRequest'
+ $ref: '#/components/schemas/InstantiateNsRequest'
application/yaml:
schema:
- $ref: '#/components/schemas/UploadVnfPackageFromUriRequest'
- CreateNsRequest:
+ $ref: '#/components/schemas/InstantiateNsRequest'
+ HealNsRequest:
content:
application/json:
schema:
- $ref: '#/components/schemas/CreateNsRequest'
+ $ref: '#/components/schemas/HealNsRequest'
application/yaml:
schema:
- $ref: '#/components/schemas/CreateNsRequest'
- InstantiateNsRequest:
+ $ref: '#/components/schemas/HealNsRequest'
+ NSinstanceMigrateRequest:
content:
application/json:
schema:
- $ref: '#/components/schemas/InstantiateNsRequest'
+ $ref: '#/components/schemas/NSinstanceMigrateRequest'
application/yaml:
schema:
- $ref: '#/components/schemas/InstantiateNsRequest'
+ $ref: '#/components/schemas/NSinstanceMigrateRequest'
ScaleNsRequest:
content:
application/json:
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:
application/yaml:
schema:
$ref: '#/components/schemas/UpdateNsRequest'
- HealNsRequest:
+ VerticalscaleNsRequest:
content:
application/json:
schema:
- $ref: '#/components/schemas/HealNsRequest'
+ $ref: '#/components/schemas/VerticalscaleNsRequest'
application/yaml:
schema:
- $ref: '#/components/schemas/HealNsRequest'
- TerminateNsRequest:
+ $ref: '#/components/schemas/VerticalscaleNsRequest'
+ # CreateNSinstanceContentRequest:
+ # Substituted by InstantiateNsRequest
+ CreateNstInfoRequest:
content:
application/json:
schema:
- $ref: '#/components/schemas/TerminateNsRequest'
+ $ref: '#/components/schemas/CreateNstInfoRequest'
application/yaml:
schema:
- $ref: '#/components/schemas/TerminateNsRequest'
+ $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'
+ # END REQUEST BODIES
+
securitySchemes:
bearerAuth:
type: http
scheme: bearer
-
-