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: |
description: Management operations of NetSlice Templates
- name: 'NetSlice instances'
description: Management operations of NetSlice Instances
-# - name: 'NSPM'
-# description: Management operations of NSPMs
-# - name: 'PDU'
-# description: Management operations of PDUs
-# - name: 'Admin'
-# description: Management operations of Administration items
+ - 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: []
required: true
description: NSD Info ID
schema:
- type : string
+ type: string
get:
tags:
- "NS packages"
required: true
description: NSD Info ID
schema:
- type : string
+ type: string
get:
tags:
- "NS packages"
required: true
description: NS Package ID
schema:
- type : string
+ type: string
- name: artifactPath
in: path
required: true
description: Artifact Path
schema:
- type : string
+ type: string
get:
tags:
- "NS packages"
required: true
description: NS Package ID
schema:
- type : string
+ type: string
get:
tags:
- "NS packages"
required: true
description: NS Package ID
schema:
- type : string
+ type: string
get:
tags:
- "NS packages"
required: true
description: VNF Package ID
schema:
- type : string
+ type: string
get:
tags:
- "VNF packages"
required: true
description: VNF Package ID
schema:
- type : string
+ type: string
get:
tags:
- "VNF packages"
required: true
description: VNF Package ID
schema:
- type : string
+ type: string
get:
tags:
- "VNF packages"
required: true
description: VNF Package ID
schema:
- type : string
+ type: string
- name: artifactPath
in: path
required: true
description: Artifact Path
schema:
- type : string
+ type: string
get:
tags:
- "VNF packages"
required: true
description: VNF Package Content ID
schema:
- type : string
+ type: string
get:
tags:
- "VNF packages"
description: Create a new NS instance resource
operationId: addNSinstance
requestBody:
- $ref: '#/components/requestBodies/CreateNsRequest'
+ $ref: '#/components/requestBodies/InstantiateNsRequest'
responses:
'201':
description: Created
required: true
description: NS Instance ID
schema:
- type : string
+ type: string
get:
tags:
- "NS instances"
required: true
description: NS Instance ID
schema:
- type : string
+ type: string
post:
tags:
- "NS instances"
required: true
description: NS Instance ID
schema:
- type : string
+ type: string
post:
tags:
- "NS instances"
required: true
description: NS Instance ID
schema:
- type : string
+ type: string
post:
tags:
- "NS instances"
required: true
description: NS Instance ID
schema:
- type : string
+ type: string
post:
tags:
- "NS instances"
description: Create a new NS instance
operationId: createNSinstanceContent
requestBody:
- $ref: '#/components/requestBodies/CreateNSinstanceContentRequest'
+ $ref: '#/components/requestBodies/InstantiateNsRequest'
responses:
'201':
description: Created
required: true
description: NS Instance Content ID
schema:
- type : string
+ type: string
get:
tags:
- "NS instances"
required: true
description: NS LCM Operation Occurrence ID
schema:
- type : string
+ type: string
get:
tags:
- "NS instances"
required: true
description: VNF Instance ID
schema:
- type : string
+ type: string
get:
tags:
- "NS instances"
$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 NetSlice Templates
required: true
description: NetSlice Template ID
schema:
- type : string
+ type: string
get:
tags:
- "NetSlice templates"
required: true
description: NetSlice Template ID
schema:
- type : string
+ type: string
- name: artifactPath
in: path
required: true
description: Artifact Path
schema:
- type : string
+ type: string
get:
tags:
- "NetSlice templates"
required: true
description: NetSlice Template ID
schema:
- type : string
+ type: string
get:
tags:
- "NetSlice templates"
required: true
description: NetSlice Template ID
schema:
- type : string
+ type: string
get:
tags:
- "NetSlice templates"
required: true
description: NetSlice Template ID
schema:
- type : string
+ type: string
get:
tags:
- "NetSlice templates"
description: Create a new NetSlice instance resource
operationId: addNSI
requestBody:
- $ref: '#/components/requestBodies/CreateNsiRequest'
+ $ref: '#/components/requestBodies/InstantiateNsiRequest'
responses:
'201':
description: Created
required: true
description: NetSlice Instance ID
schema:
- type : string
+ type: string
get:
tags:
- "NetSlice instances"
required: true
description: NetSlice Instance ID
schema:
- type : string
+ type: string
post:
tags:
- "NetSlice instances"
required: true
description: NetSlice Instance ID
schema:
- type : string
+ type: string
post:
tags:
- "NetSlice instances"
required: true
description: NetSlice Instance ID
schema:
- type : string
+ type: string
post:
tags:
- "NetSlice instances"
description: Create a new NetSlice instance
operationId: createNSIContent
requestBody:
- $ref: '#/components/requestBodies/CreateNsiContentRequest'
+ $ref: '#/components/requestBodies/InstantiateNsiRequest'
responses:
'201':
description: Created
required: true
description: NetSlice Instance Content ID
schema:
- type : string
+ type: string
get:
tags:
- "NetSlice instances"
required: true
description: NetSlice LCM Operation Occurrence ID
schema:
- type : string
+ type: string
get:
tags:
- "NetSlice instances"
# END NetSlice Instances
# BEGIN NSPM
- # /nspm/v1/pm_jobs/{pmJobId}/reports/{reportId}
+ '/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
- # /pdu/v1/pdu_descriptors/{pduDescriptorId}
-# END PDU
-
-# BEGIN Admin
- # /admin/v1/tokens
- # /admin/v1/tokens/{tokenId}
- # /admin/v1/users
- # /admin/v1/users/{userId}
- # /admin/v1/projects
- # /admin/v1/projects/{projectId}
- # /admin/v1/roles
- # /admin/v1/roles/{roleId}
- # /admin/v1/vims
- # /admin/v1/vims/{vimId}
- # /admin/v1/vim_accounts
- # /admin/v1/vim_accounts/{vimAccountId}
- # /admin/v1/wim_accounts
- # /admin/v1/wim_accounts/{wimAccountId}
- # /admin/v1/sdns
- # /admin/v1/sdns/{sdnId}
-# END Admin
-
-externalDocs:
- description: Find out more OSM
- url: 'http://osm.etsi.org/wikipub'
-
-components:
- responses:
- BadRequest:
- description: Bad request. The server cannot process the request due to a client error.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- Unauthorized:
- description: Authorization information is missing or invalid.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- Forbidden:
- description: Not enough permissions to do this operation.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- NotFound:
- description: The specified resource was not found.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- MethodNotAllowed:
- description: This method is not supported for the requested resource.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- NotAcceptable:
- description: The requested resource content cannot match the Accept headers sent in the request.
+ '/pdu/v1/pdu_descriptors':
+ get:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Query information about multiple PDU Descriptors
+ description: Query information about multiple PDU Descriptors
+ operationId: getPDUs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfPduInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfPduInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Create a new PDU
+ description: Create a new PDU Descriptor
+ operationId: createPDU
+ requestBody:
+ $ref: '#/components/requestBodies/CreatePduRequest'
+ responses:
+ '200':
+ description: OK
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/pdu/v1/pdu_descriptors/{pduDescriptorId}':
+ parameters:
+ - name: pduDescriptorId
+ in: path
+ required: true
+ description: PDU Descriptor ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Query information about an individual PDU Descriptor
+ description: Query information about an individual PDU Descriptor
+ operationId: getPDU
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PduInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/PduInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Modify an individual PDU Descriptor
+ description: Modify an individual PDU Descriptor
+ operationId: editPDU
+ requestBody:
+ $ref: '#/components/requestBodies/EditPduRequest'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Physical Data Units (PDU)"
+ summary: Delete an individual PDU Descriptor
+ description: Delete an individual PDU Descriptor
+ operationId: deletePDU
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END PDU
+
+# BEGIN Admin
+ '/admin/v1/tokens':
+ get:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Query information about multiple Tokens
+ description: Query information about multiple Tokens
+ operationId: getTokens
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfTokenInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfTokenInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Request a new Token
+ description: Request a new Token
+ operationId: createToken
+ requestBody:
+ $ref: '#/components/requestBodies/CreateTokenRequest'
+ responses:
+ '200':
+ description: OK
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TokenInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/TokenInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Delete the Token indicated in the Authorization Header
+ description: Delete the Token indicated in the Authorization Header
+ operationId: deleteAuthToken
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: string
+ application/yaml:
+ schema:
+ type: string
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/tokens/{tokenId}':
+ parameters:
+ - name: tokenId
+ in: path
+ required: true
+ description: Token ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Query information about an individual Token
+ description: Query information about an individual Token
+ operationId: getToken
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TokenInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/TokenInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Authentication"
+ - "Admin"
+ summary: Delete the Token indicated as parameter
+ description: Delete the Token indicated as parameter
+ operationId: deleteToken
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: string
+ application/yaml:
+ schema:
+ type: string
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/users':
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about multiple Users
+ description: Query information about multiple Users
+ operationId: getUsers
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfUserInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfUserInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Create a new User
+ description: Create a new User
+ operationId: createUser
+ requestBody:
+ $ref: '#/components/requestBodies/CreateUserRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/users/{userId}':
+ parameters:
+ - name: userId
+ in: path
+ required: true
+ description: User ID/Name
+ schema:
+ type: string
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about an individual User
+ description: Query information about an individual User
+ operationId: getUser
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/UserInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Modify a User
+ description: Modify a User
+ operationId: editUser
+ requestBody:
+ $ref: '#/components/requestBodies/EditUserRequest'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Delete a User
+ description: Delete a User
+ operationId: deleteUser
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/projects':
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about multiple Projects
+ description: Query information about multiple Projects
+ operationId: getProjects
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfProjectInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfProjectInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Create a new Project
+ description: Create a new Project
+ operationId: createProject
+ requestBody:
+ $ref: '#/components/requestBodies/CreateProjectRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/projects/{projectId}':
+ parameters:
+ - name: projectId
+ in: path
+ required: true
+ description: Project ID/Name
+ schema:
+ type: string
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about an individual Project
+ description: Query information about an individual Project
+ operationId: getProject
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProjectInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ProjectInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Modify a Project
+ description: Modify a Project
+ operationId: editProject
+ requestBody:
+ $ref: '#/components/requestBodies/EditProjectRequest'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Delete a Project
+ description: Delete a Project
+ operationId: deleteProject
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/roles':
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about multiple Roles
+ description: Query information about multiple Roles
+ operationId: getRoles
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfRoleInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfRoleInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Create a new Role
+ description: Create a new Role
+ operationId: createRole
+ requestBody:
+ $ref: '#/components/requestBodies/CreateRoleRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: string
+ format: uri
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/roles/{roleId}':
+ parameters:
+ - name: roleId
+ in: path
+ required: true
+ description: Role ID/Name
+ schema:
+ type: string
+ get:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Query information about an individual Role
+ description: Query information about an individual Role
+ operationId: getRole
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RoleInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/RoleInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Modify a Role
+ description: Modify a Role
+ operationId: editRole
+ requestBody:
+ $ref: '#/components/requestBodies/EditRoleRequest'
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Identity"
+ - "Admin"
+ summary: Delete a Role
+ description: Delete a Role
+ operationId: deleteRole
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vims':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple VIMs
+ description: Query information about multiple VIMs
+ operationId: getVIMs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new VIM
+ description: Create a new VIM
+ operationId: createVIM
+ requestBody:
+ $ref: '#/components/requestBodies/CreateVimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vims/{vimId}':
+ parameters:
+ - name: vimId
+ in: path
+ required: true
+ description: VIM ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual VIM
+ description: Query information about an individual VIM
+ operationId: getVIM
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a VIM
+ description: Modify a VIM
+ operationId: editVIM
+ requestBody:
+ $ref: '#/components/requestBodies/EditVimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a VIM
+ description: Delete a VIM
+ operationId: deleteVIM
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vim_accounts':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple VIM Accounts
+ description: Query information about multiple VIM Accounts
+ operationId: getVimAccounts
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new VIM Account
+ description: Create a new VIM Account
+ operationId: createVimAccount
+ requestBody:
+ $ref: '#/components/requestBodies/CreateVimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/vim_accounts/{vimAccountId}':
+ parameters:
+ - name: vimAccountId
+ in: path
+ required: true
+ description: VIM Account ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual VIM Account
+ description: Query information about an individual VIM Account
+ operationId: getVimAccount
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a VIM Account
+ description: Modify a VIM Account
+ operationId: editVimAccount
+ requestBody:
+ $ref: '#/components/requestBodies/EditVimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a VIM Account
+ description: Delete a VIM Account
+ operationId: deleteVimAccount
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/wim_accounts':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple WIM Accounts
+ description: Query information about multiple WIM Accounts
+ operationId: getWimAccounts
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfWimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfWimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new WIM Account
+ description: Create a new WIM Account
+ operationId: createWimAccount
+ requestBody:
+ $ref: '#/components/requestBodies/CreateWimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/wim_accounts/{wimAccountId}':
+ parameters:
+ - name: wimAccountId
+ in: path
+ required: true
+ description: WIM Account ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual WIM Account
+ description: Query information about an individual WIM Account
+ operationId: getWimAccount
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/WimInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/WimInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a WIM Account
+ description: Modify a WIM Account
+ operationId: editWimAccount
+ requestBody:
+ $ref: '#/components/requestBodies/EditWimRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a WIM Account
+ description: Delete a WIM Account
+ operationId: deleteWimAccount
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/sdns':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple SDNs
+ description: Query information about multiple SDNs
+ operationId: getSDNs
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfSdnInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfSdnInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new SDN
+ description: Create a new SDN
+ operationId: createSDN
+ requestBody:
+ $ref: '#/components/requestBodies/CreateSdnRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/sdns/{sdnId}':
+ parameters:
+ - name: sdnId
+ in: path
+ required: true
+ description: SDN ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual SDN
+ description: Query information about an individual SDN
+ operationId: getSDN
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SdnInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/SdnInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a SDN
+ description: Modify a SDN
+ operationId: editSDN
+ requestBody:
+ $ref: '#/components/requestBodies/EditSdnRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a SDN
+ description: Delete a SDN
+ operationId: deleteSDN
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/k8sclusters':
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about multiple K8s Clusters
+ description: Query information about multiple K8s Clusters
+ operationId: getK8sClusters
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Create a new K8s Cluster
+ description: Create a new K8s Cluster
+ operationId: createK8sCluster
+ requestBody:
+ $ref: '#/components/requestBodies/CreateK8sClusterRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/k8sclusters/{k8sClusterId}':
+ parameters:
+ - name: k8sClusterId
+ in: path
+ required: true
+ description: K8s Cluster ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Query information about an individual K8s Cluster
+ description: Query information about an individual K8s Cluster
+ operationId: getK8sCluster
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/K8sClusterInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/K8sClusterInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ patch:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Modify a K8s Cluster
+ description: Modify a K8s Cluster
+ operationId: editK8sCluster
+ requestBody:
+ $ref: '#/components/requestBodies/EditK8sClusterRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Infrastructure"
+ - "Admin"
+ summary: Delete a K8s Cluster
+ description: Delete a K8s Cluster
+ operationId: deleteK8sCluster
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/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:
NsDescriptor:
description: NS Descriptor (plaintext)
content:
- text/plain:
+ 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/NsDescriptor'
- NsPackage:
- description: NS Package (compressed)
+ $ref: '#/components/schemas/NetSlicePackage'
+ NslcmSubscriptionResponse:
+ description: NslcmSubscriptionResponse
content:
- application/zip:
+ application/json:
schema:
- $ref: '#/components/schemas/NsPackage'
+ $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
+ 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
+ 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
+ # 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:
- description: NetSlice Template (plaintext)
- content:
- text/plain:
- schema:
- $ref: '#/components/schemas/NetSliceTemplate'
+ type: string
+ format: yaml|json
NetSlicePackage:
- description: NetSlice Package (compressed)
- content:
- application/zip:
- schema:
- $ref: '#/components/schemas/NetSlicePackage'
- # END RESPONSES
-
- schemas:
- ObjectId:
+ type: string
+ format: binary
+ NstInfoModifications:
+ description: |
+ NetSlice Template Information
+ Only generic fields (id, name) are described
+ For a full specification of the NetSlice Template see:
+ http://osm-download.etsi.org/ftp/osm-doc/nst.html
+ type: object
+ properties:
+ id:
+ description: NST Identifier
+ type: string
+ name:
+ description: NST Name
+ type: string
+ NetSliceInstance:
+ description: |
+ NetSlice Instance Information
+ Only generic fields (_id, id, name, description) are described
+ For a full specification of the NetSlice Instance see:
+ http://osm-download.etsi.org/ftp/osm-doc/nsi.html
+ type: object
+ properties:
+ _id:
+ description: Identifier of the NetSlice instance.
+ type: string
+ format: uuid
+ id:
+ description: Identifier of the NetSlice instance.
+ type: string
+ format: uuid
+ name:
+ description: Human readable name of the NetSlice instance.
+ type: string
+ description:
+ description: Human readable description of the NetSlice instance.
+ type: string
+ required:
+ - _id
+ - id
+ - name
+ ArrayOfNetSliceInstance:
+ type: array
+ items:
+ $ref: '#/components/schemas/NetSliceInstance'
+ # CreateNsiRequest:
+ # Substituted by InstantiateNsiRequest
+ InstantiateNsiRequest:
+ type: object
+ properties:
+ nsiName:
+ description: |
+ Human-readable name of the NetSlice instance to be created.
+ type: string
+ nstId:
+ description: |
+ Identifier of the NST that defines the NetSlice instance to be created.
+ type: string
+ format: uuid
+ vimAccountId:
+ description: |
+ Identifier of the VIM Account where the NetSlice instance shall be created.
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ nsiDescription:
+ type: string
+ nullable: true
+ ssh_keys:
+ type: string
+ nsi_id:
+ type: string
+ format: uuid
+ additionalParamsForNsi:
+ type: object
+ additionalProperties: true
+ netslice-subnet:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ nsName:
+ type: string
+ nsdId:
+ type: string
+ format: uuid
+ vimAccountId:
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ nsInstanceId:
+ type: string
+ format: uuid
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ nsDescription:
+ type: string
+ nullable: true
+ wimAccountId:
+ oneOf:
+ - type: string
+ - type: boolean
+ nullable: true
+ additionalParamsForNs:
+ type: object
+ additionalProperties: true
+ additionalParamsForVnf: *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
- KeyValuePairs:
- # A free list of key:value pairs
+ nsilcmop_id:
+ type: string
+ format: uuid
+ NsiLcmOpOcc:
type: object
- additionalProperties: true
- NsDescriptor:
- type: string
- format: yaml|json
- NsPackage:
- type: string
- format: binary
- CreateNsdInfoRequest:
- # A free list of key:value pairs
+ properties:
+ _id:
+ type: string
+ format: uuid
+ id:
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ isAutomaticInvocation:
+ type: boolean
+ isCancelPending:
+ type: boolean
+ startTime:
+ type: number
+ format: float
+ statusEnteredTime:
+ type: number
+ format: float
+ operationParams:
+ type: object
+ properties:
+ nsiName:
+ type: string
+ nstId:
+ type: string
+ format: uuid
+ vimAccountId:
+ type: string
+ format: uuid
+ netsliceInstanceId:
+ type: string
+ format: uuid
+ lcmOperationType:
+ type: string
+ nslcmops_ids:
+ type: array
+ items:
+ type: string
+ format: uuid
+ operationState:
+ type: string
+ detailed-status:
+ type: string
+ links:
+ type: object
+ properties:
+ self:
+ type: string
+ format: path # uri?
+ netsliceInstanceId:
+ type: string
+ format: path # uri?
+ ArrayOfNsiLcmOpOcc:
+ type: array
+ items:
+ $ref: '#/components/schemas/NsiLcmOpOcc'
+ TokenInfo:
+ type: object
+ properties:
+ _id:
+ type: string
+ id:
+ type: string
+ admin:
+ type: boolean
+ project_id:
+ type: string
+ format: uuid
+ user_id:
+ type: string
+ format: uuid
+ project_name:
+ type: string
+ username:
+ type: string
+ issued_at:
+ type: number
+ format: float
+ expires:
+ type: number
+ format: float
+ remote_host:
+ type: string
+ format: ipv4
+ remote_port:
+ type: integer
+ roles:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ name:
+ type: string
+ ArrayOfTokenInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/TokenInfo'
+ CreateTokenRequest:
+ type: object
+ properties:
+ username:
+ type: string
+ password:
+ type: string
+ project_id:
+ type: string
+ required:
+ - username
+ - password
+ UserInfo:
+ type: object
+ properties:
+ _id:
+ type: string
+ format: uuid
+ username:
+ type: string
+ password:
+ type: string
+ project_role_mappings:
+ type: array
+ items:
+ type: object
+ properties:
+ project:
+ type: string
+ format: uuid
+ role:
+ type: string
+ format: uuid
+ project_name:
+ type: string
+ role_name:
+ type: string
+ projects:
+ type: array
+ items:
+ type: string
+ ArrayOfUserInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/UserInfo'
+ ProjectRoleMappings:
+ type: array
+ items:
+ type: object
+ properties:
+ project:
+ type: string
+ role:
+ type: string
+ required:
+ - project
+ - role
+ additionalProperties: false
+ ProjectRoleMappingsOpt:
+ type: array
+ items:
+ type: object
+ properties:
+ project:
+ type: string
+ role:
+ type: string
+ required:
+ - project
+ additionalProperties: false
+ CreateUserRequest:
+ type: object
+ properties:
+ username:
+ type: string
+ password:
+ type: string
+ projects:
+ type: array
+ items:
+ type: string
+ project_role_mappings:
+ $ref: '#/components/schemas/ProjectRoleMappings'
+ required:
+ - username
+ - password
+ additionalProperties: false
+ ShortNameList:
+ type: array
+ items:
+ type: string
+ ArrayEditionSchema:
type: object
additionalProperties: true
- NsdInfoModifications:
+ minProperties: 1
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
+ 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:
- id:
- description: NSD Identifier
+ 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:
- description: NSD Name
- type: string
- description:
- description: NSD Description
type: string
- nsd:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/nsd.html'
- 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
+ permissions:
+ $ref: '#/components/schemas/EditPermissionsInfo'
+ additionalProperties: false
+ VimType:
+ type: string
+ enum:
+ - openvim
+ - openstack
+ - vmware
+ - opennebula
+ - aws
+ - azure
+ - fos
+ VimInfo:
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.
+ schema_version:
+ type: string
+ format: X.Y[.Z]
+ schema_type:
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
- nsd:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/nsd.html'
- required:
- - _id
- - id
- ArrayOfNsdInfo:
+ 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
+ ArrayOfVimInfo:
type: array
items:
- $ref: '#/components/schemas/NsdInfo'
- ProblemDetails:
+ $ref: '#/components/schemas/VimInfo'
+ CreateVimRequest:
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
+ vim:
+ type: string
+ datacenter:
+ type: string
+ vim_type:
+ $ref: '#/components/schemas/VimType'
+ vim_url:
type: string
format: uri
- additionalProperties: true
+ vim_tenant_name:
+ type: string
+ vim_user:
+ type: string
+ vim_password:
+ type: string
+ vca:
+ type: string
+ format: uuid
+ config:
+ type: object
+ additionalProperties: true
required:
- - status
- - detail
- VnfDescriptor:
- type: string
- format: yaml|json
- VnfPackage:
- type: string
- format: binary
- CreateVnfPkgInfoRequest:
- # A free list of key:value pairs
+ - name
+ - vim_url
+ - vim_type
+ - vim_user
+ - vim_password
+ - vim_tenant_name
+ additionalProperties: false
+ EditVimRequest:
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
+ 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
+ config:
+ type: object
+ additionalProperties: true
+ additionalProperties: false
+ ObjectId_plus_OpId:
type: object
properties:
id:
- description: VNF Package Identifier
type: string
- name:
- description: VNF Package Name
+ format: uuid
+ op_id:
type: string
- description:
- description: VNF Package description
+ format: uuid
+ OpId:
+ type: object
+ properties:
+ op_id:
type: string
- vnfd:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/vnfd.html'
- 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
+ format: uuid
+ WimType:
+ type: string
+ enum:
+ - onos
+ - odl
+ - tapi
+ - dynpac
+ - fake
+ WimInfo:
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
+ schema_version:
+ type: string
+ format: X.Y[.Z]
+ schema_type:
type: string
name:
- description: VNF Package Name
type: string
description:
- description: VNF Package description
type: string
- vnfd:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/vnfd.html'
- required:
- - _id
- - id
- ArrayOfVnfPkgInfo:
- type: array
- items:
- $ref: '#/components/schemas/VnfPkgInfo'
- CreateNsRequest:
- type: object
- properties:
- nsdId:
- description: |
- Identifier of the NSD that defines the NS instance to be created.
+ wim:
type: string
- format: uuid
- nsName:
- description: |
- Human-readable name of the NS instance to be created.
+ wim_type:
+ $ref: '#/components/schemas/WimType'
+ wim_url:
type: string
- nsDescription:
- description: |
- Human-readable description of the NS instance to be created.
+ format: uri
+ user:
type: string
- vimAccountId:
- description: |
- Identifier of the VIM Account where the NS instance shall be created.
+ password:
type: string
- format: uuid
- required:
- - nsdId
- - nsName
- - vimAccountId
- NsInstance:
- description: |
- NS Instance Information
- Only generic fields (_id, id, name, description) are described
- For a full specification of the NS Instance see:
- http://osm-download.etsi.org/ftp/osm-doc/nsr.html
+ config:
+ type: object
+ additionalProperties: true
+ ArrayOfWimInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/WimInfo'
+ CreateWimRequest:
type: object
properties:
- _id:
- description: Identifier of the NS instance.
+ schema_version:
type: string
- format: uuid
- id:
- description: Identifier of the NS instance.
+ format: X.Y[.Z]
+ schema_type:
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
- nsr:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/nsr.html'
+ 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:
- - _id
- - id
- name
- InstantiateNsRequest:
+ - wim_url
+ - wim_type
+ additionalProperties: false
+ EditWimRequest:
type: object
properties:
- nsName:
- description: |
- Human-readable name of the NS instance to be created.
+ name:
type: string
- nsdId:
- description: |
- Identifier of the NSD that defines the NS instance to be created.
+ description:
type: string
- format: uuid
- vimAccountId:
- description: |
- Identifier of the VIM Account where the NS instance shall be created.
+ wim:
type: string
- format: uuid
- required:
- - nsName
- - nsdId
- - vimAccountId
- ScaleNsRequest:
+ 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:
- scaleType:
+ name:
+ type: string
+ description:
+ type: string
+ dpid:
+ type: string
+ format: mac_address
+ ip:
+ type: string
+ format: ipv4
+ port:
+ type: integer
+ type:
type: string
enum:
- - SCALE_VNF
- scaleVnfData:
- type: object
- properties:
- scaleVnfType:
- type: string
- enum:
- - SCALE_IN
- - SCALE_OUT
- scaleByStepData:
- type: object
- properties:
- scaling-group-descriptor:
- type: string
- member-vnf-index:
- type: string
- additionalProperties: true
- additionalProperties: true
- additionalProperties: true
- TerminateNsRequest:
+ - floodlight
+ - opendaylight
+ - onos
+ version:
+ type: string
+ user:
+ type: string
+ password:
+ type: string
+ SdnExtraProperties:
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.
+ _id:
type: string
- format: date-time
- ArrayOfNsInstance:
+ 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:
- $ref: '#/components/schemas/NsInstance'
- NSinstanceActionRequest:
+ 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:
- primitive:
- type: string
- primitive_params:
- $ref: '#/components/schemas/KeyValuePairs'
- lcmOperationType:
- type: string
- nsInstanceId:
+ _id:
type: string
format: uuid
- member_vnf_index:
+ name:
type: string
- vdu_id:
+ type:
type: string
- vdu_count_index:
- type: integer
- required:
- - primitive
- - primitive_params
- additionalProperties: false
- CreateNSinstanceContentRequest:
+ 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:
- 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.
+ type:
type: string
- vimAccountId:
- description: |
- Identifier of the VIM Account where the NS instance shall be created.
+ description:
type: string
- format: uuid
+ shared:
+ type: boolean
+ vims:
+ type: array
+ items:
+ type: string
+ vim_accounts:
+ type: array
+ items:
+ type: string
+ interfaces:
+ $ref: '#/components/schemas/PduInterfaces'
required:
- - nsdId
- - nsName
- - vimAccountId
- CreateNSinstanceContentResponse:
+ - name
+ - type
+ - interfaces
+ additionalProperties: false
+ EditPduRequest:
type: object
properties:
- id:
+ name:
type: string
- format: uuid
- nslcmop_id:
+ type:
type: string
- format: uuid
- NsLcmOpOcc:
+ description:
+ type: string
+ shared:
+ type: boolean
+ vims:
+ type: array
+ items:
+ type: string
+ vim_accounts:
+ type: array
+ items:
+ type: string
+ interfaces:
+ $ref: '#/components/schemas/PduInterfaces'
+ additionalProperties: false
+ K8sClusterNetList:
+ type: array
+ items:
+ type: object
+ additionalProperties: true
+ K8sClusterInfo:
type: object
properties:
_id:
type: string
format: uuid
- id:
- type: string
- format: uuid
- lcmOperationType:
+ schema_version:
type: string
- nsInstanceId:
+ format: X.Y[.Z]
+ schema_type:
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:
+ name:
type: string
- detailed-status:
+ description:
type: string
- links:
+ credentials:
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:
+ additionalProperties: true
+ vim_account:
type: string
format: uuid
- id:
+ k8s_version:
type: string
- format: uuid
- vnfr:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/vnfr.html'
- ArrayOfVnfInstanceInfo:
+ nets:
+ $ref: '#/components/schemas/K8sClusterNetList'
+ namespace:
+ type: string
+ cni:
+ type: array
+ items:
+ type: string
+ ArrayOfK8sClusterInfo:
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
+ $ref: '#/components/schemas/K8sClusterInfo'
+ CreateK8sClusterRequest:
type: object
properties:
- _id:
- description: NetSlice Template Identifier
+ schema_version:
type: string
- format: uuid
- id:
- description: Human readable NetSlice Template Identifier
+ format: X.Y[.Z]
+ schema_type:
type: string
name:
- description: Human readable name of the NetSlice Template
type: string
- nst:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/nst.html'
- 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
+ description:
+ type: string
+ credentials:
+ type: object
+ additionalProperties: true
+ vim_account:
+ type: string
+ format: uuid
+ k8s_version:
+ type: string
+ nets:
+ $ref: '#/components/schemas/K8sClusterNetList'
+ namespace:
+ type: string
+ cni:
+ type: array
+ items:
+ type: string
+ required:
+ - name
+ - credentials
+ - vim_account
+ - k8s_version
+ - nets
+ additionalProperties: false
+ EditK8sClusterRequest:
type: object
properties:
- id:
- description: NST Identifier
- type: string
name:
- description: NST Name
type: string
- nsd:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/nst.html'
- 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
+ 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 NetSlice instance.
type: string
format: uuid
- id:
- description: Identifier of the NetSlice instance.
+ schema_version:
+ type: string
+ format: X.Y[.Z]
+ schema_type:
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
- nsi:
- $ref: 'http://osm-download.etsi.org/ftp/osm-doc/nsi.html'
- required:
- - _id
- - id
- - name
- ArrayOfNetSliceInstance:
+ endpoints:
+ type: string
+ user:
+ type: string
+ secret:
+ type: string
+ cacert:
+ type: string
+ lxd-cloud:
+ type: string
+ lxd-credentials:
+ type: string
+ k8s-cloud:
+ type: string
+ k8s-credentials:
+ type: string
+ model-config:
+ type: object
+ additionalProperties: true
+ ArrayOfVcaInfo:
type: array
items:
- $ref: '#/components/schemas/NetSliceInstance'
- CreateNsiRequest:
+ $ref: '#/components/schemas/VcaInfo'
+ CreateVcaRequest:
type: object
properties:
- nstId:
- description: |
- Identifier of the NST that defines the NetSlice instance to be created.
+ schema_version:
type: string
- format: uuid
- nsiName:
- description: |
- Human-readable name of the NetSlice instance to be created.
+ format: X.Y[.Z]
+ schema_type:
type: string
- nsiDescription:
- description: |
- Human-readable description of the NetSlice instance to be created.
+ name:
type: string
- vimAccountId:
- description: |
- Identifier of the VIM Account where the NetSlice instance shall be created.
+ description:
type: string
- format: uuid
+ 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:
- - nstId
- - nsiName
- - vimAccountId
- InstantiateNsiRequest:
+ - name
+ - endpoints
+ - user
+ - secret
+ - cacert
+ - lxd-cloud
+ - lxd-credentials
+ - k8s-cloud
+ - k8s-credentials
+ additionalProperties: false
+ EditVcaRequest:
type: object
properties:
- nsiName:
- description: |
- Human-readable name of the NetSlice instance to be created.
+ name:
type: string
- nstId:
- description: |
- Identifier of the NST that defines the NetSlice instance to be created.
+ description:
type: string
- format: uuid
- vimAccountId:
- description: |
- Identifier of the VIM Account where the NetSlice instance shall be created.
+ endpoints:
+ type: string
+ user:
+ type: string
+ secret:
+ type: string
+ cacert:
+ type: string
+ lxd-cloud:
type: string
- format: uuid
- required:
- - nsiName
- - nstId
- - vimAccountId
- TerminateNsiRequest:
- type: object
- properties:
- terminationTime:
- description: |
- Timestamp indicating the end time of the NSI, i.e. the NSI will be terminated
- automatically at this timestamp. Cardinality "0" indicates the NSI termination
- takes place immediately.
+ lxd-credentials:
type: string
- format: date-time
- NsiActionRequest:
+ k8s-cloud:
+ type: string
+ k8s-credentials:
+ type: string
+ model-config:
+ type: object
+ additionalProperties: true
+ additionalProperties: false
+ K8sRepoType:
+ type: string
+ enum:
+ - chart
+ - bundle
+ K8sRepoInfo:
type: object
properties:
- primitive:
+ _id:
type: string
- primitive_params:
- $ref: '#/components/schemas/KeyValuePairs'
- lcmOperationType:
+ format: uuid
+ name:
type: string
- netsliceInstanceId:
+ description:
type: string
- format: uuid
- required:
- - primitive
- - primitive_params
- CreateNsiContentRequest:
+ type:
+ $ref: '#/components/schemas/K8sRepoType'
+ url:
+ type: string
+ format: uri
+ ArrayOfK8sRepoInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/K8sRepoInfo'
+ CreateK8sRepoRequest:
type: object
properties:
- nstId:
- description: |
- Identifier of the NST that defines the NetSlice instance to be created.
+ name:
type: string
- format: uuid
- nsiName:
- description: |
- Human-readable name of the NetSlice instance to be created.
+ description:
type: string
- vimAccountId:
- description: |
- Identifier of the VIM Account where the NetSlice instance shall be created.
+ type:
+ $ref: '#/components/schemas/K8sRepoType'
+ url:
type: string
- format: uuid
+ format: uri
required:
- - nsdId
- - nsName
- - vimAccountId
- CreateNsiContentResponse:
+ - name
+ - type
+ - url
+ additionalProperties: false
+ NslcmSubscriptionResponse:
type: object
properties:
id:
type: string
format: uuid
- nsilcmop_id:
+ filter:
+ type: object
+ CallbackUri:
type: string
- format: uuid
- NsiLcmOpOcc:
+ format: uri
+ _links:
+ type: object
+ NslcmSubscriptionInfo:
type: object
properties:
_id:
type: string
format: uuid
- id:
- type: string
- format: uuid
- lcmOperationType:
+ _admin:
+ type: object
+ schema_version:
type: string
- netsliceInstanceId:
+ format: 'X.Y[.Z]'
+ CallbackUri:
type: string
- format: uuid
- isAutomaticInvocation:
- type: boolean
- isCancelPending:
- type: boolean
- startTime:
- type: number
- format: float
- statusEnteredTime:
- type: number
- format: float
- operationParams:
+ format: uri
+ filter:
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:
+ authentication:
+ $ref: '#/components/schemas/Authenticationschema'
+ ArrayOfNslcmSubscriptionInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/NslcmSubscriptionInfo'
+ NsInstanceSubscriptionFilter:
+ description: |
+ used to identify the network service
+ type: object
+ oneOf:
+ - $ref: '#/components/schemas/nsdIds'
+ - $ref: '#/components/schemas/vnfdIds'
+ - $ref: '#/components/schemas/pnfdIds'
+ - $ref: '#/components/schemas/nsInstanceIds'
+ - $ref: '#/components/schemas/nsInstanceNames'
+ nsdIds:
+ type: array
+ items:
+ type: string
+ vnfdIds:
+ type: array
+ items:
+ type: string
+ pnfdIds:
+ type: array
+ items:
+ type: string
+ nsInstanceIds:
+ type: array
+ items:
+ type: string
+ nsInstanceNames:
+ type: array
+ items:
+ type: string
+ Nslcmsubschema:
+ type: object
+ properties:
+ nsInstanceSubscriptionFilter:
+ $ref: '#/components/schemas/NsInstanceSubscriptionFilter'
+ notificationTypes:
+ description: |
+ If NsLcmOperationOccurrenceNotification is selected then at least operationTypes or states is required. If NsLcmOperationOccurrenceNotification is selected then at least nsComponentTypes, lcmOpName and lcmOpOccStatus is required
+ type: array
+ items:
+ type: string
+ enum:
+ - NsIdentifierCreationNotification
+ - NsIdentifierDeletionNotification
+ - NsLcmOperationOccurrenceNotification
+ - NsChangeNotification
+ operationTypes:
+ type: array
+ items:
+ type: string
+ enum:
+ - INSTANTIATE
+ - SCALE
+ - TERMINATE
+ - UPDATE
+ - HEAL
+ operationStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - PROCESSING
+ - COMPLETED
+ - PARTIALLY_COMPLETED
+ - FAILED
+ - FAILED_TEMP
+ - ROLLING_BACK
+ - ROLLED_BACK
+ nsComponentTypes:
+ type: array
+ items:
+ type: string
+ enum:
+ - VNF
+ - NS
+ - PNF
+ lcmOpNameImpactingNsComponent:
+ type: array
+ items:
+ type: string
+ enum:
+ - VNF_INSTANTIATE
+ - VNF_SCALE
+ - VNF_SCALE_TO_LEVEL
+ - VNF_CHANGE_FLAVOUR
+ - VNF_TERMINATE
+ - VNF_HEAL
+ - VNF_OPERATE
+ - VNF_CHANGE_EXT_CONN
+ - VNF_MODIFY_INFO
+ - NS_INSTANTIATE
+ - NS_SCALE
+ - NS_UPDATE
+ - NS_TERMINATE
+ - NS_HEAL
+ lcmOpOccStatusImpactingNsComponent:
+ type: array
+ items:
+ type: string
+ enum:
+ - START
+ - COMPLETED
+ - PARTIALLY_COMPLETED
+ - FAILED
+ - ROLLED_BACK
+ Authenticationschema:
+ type: object
+ properties:
+ authType:
type: string
- links:
+ enum:
+ - basic
+ paramsBasic:
type: object
properties:
- self:
+ userName:
type: string
- format: path # uri?
- netsliceInstanceId:
+ password:
type: string
- format: path # uri?
- ArrayOfNsiLcmOpOcc:
- type: array
- items:
- $ref: '#/components/schemas/NsiLcmOpOcc'
+ NslcmSubscriptionRequest:
+ type: object
+ properties:
+ filter:
+ $ref: '#/components/schemas/Nslcmsubschema'
+ CallbackUri:
+ type: string
+ format: uri
+ authentication:
+ $ref: '#/components/schemas/Authenticationschema'
+ required:
+ - CallbackUri
# END SCHEMAS
requestBodies:
text/plain:
schema:
$ref: '#/components/schemas/VnfDescriptor'
- CreateNsRequest:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateNsRequest'
- application/yaml:
- schema:
- $ref: '#/components/schemas/CreateNsRequest'
+ # CreateNsRequest:
+ # Substituted by InstantiateNsRequest
InstantiateNsRequest:
content:
application/json:
application/yaml:
schema:
$ref: '#/components/schemas/TerminateNsRequest'
- CreateNSinstanceContentRequest:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateNSinstanceContentRequest'
- application/yaml:
- schema:
- $ref: '#/components/schemas/CreateNSinstanceContentRequest'
+ # CreateNSinstanceContentRequest:
+ # Substituted by InstantiateNsRequest
CreateNstInfoRequest:
content:
application/json:
application/yaml:
schema:
$ref: '#/components/schemas/NstInfoModifications'
- CreateNsiRequest:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateNsiRequest'
- application/yaml:
- schema:
- $ref: '#/components/schemas/CreateNsiRequest'
+ # CreateNsiRequest:
+ # Substituted by InstantiateNsiRequest
InstantiateNsiRequest:
content:
application/json:
application/yaml:
schema:
$ref: '#/components/schemas/NsiActionRequest'
- CreateNsiContentRequest:
+ # 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/CreateNsiContentRequest'
+ $ref: '#/components/schemas/NslcmSubscriptionRequest'
application/yaml:
schema:
- $ref: '#/components/schemas/CreateNsiContentRequest'
+ $ref: '#/components/schemas/NslcmSubscriptionRequest'
# END REQUEST BODIES
securitySchemes: