description: Management operations of NetSlice Templates
- name: 'NetSlice instances'
description: Management operations of NetSlice Instances
- - name: 'NSPM'
- description: Management operations of NSPMs
- - name: 'PDU'
+ - 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
description: NS Instance ID
schema:
type: string
+ - name: vcaStatusRefresh
+ in: query
+ required: false
+ description: Set to true if vca status needs to be refreshed.
+ schema:
+ type: boolean
get:
tags:
- "NS instances"
$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
type: string
get:
tags:
- - "NSPM"
+ - "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
'/pdu/v1/pdu_descriptors':
get:
tags:
- - "PDU"
+ - "Physical Data Units (PDU)"
summary: Query information about multiple PDU Descriptors
description: Query information about multiple PDU Descriptors
operationId: getPDUs
$ref: '#/components/responses/UnexpectedError'
post:
tags:
- - "PDU"
+ - "Physical Data Units (PDU)"
summary: Create a new PDU
description: Create a new PDU Descriptor
operationId: createPDU
type: string
get:
tags:
- - "PDU"
+ - "Physical Data Units (PDU)"
summary: Query information about an individual PDU Descriptor
description: Query information about an individual PDU Descriptor
operationId: getPDU
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
- - "PDU"
+ - "Physical Data Units (PDU)"
summary: Modify an individual PDU Descriptor
description: Modify an individual PDU Descriptor
operationId: editPDU
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
- - "PDU"
+ - "Physical Data Units (PDU)"
summary: Delete an individual PDU Descriptor
description: Delete an individual PDU Descriptor
operationId: deletePDU
'/admin/v1/tokens':
get:
tags:
+ - "Authentication"
- "Admin"
summary: Query information about multiple Tokens
description: Query information about multiple Tokens
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Authentication"
- "Admin"
summary: Request a new Token
description: Request a new Token
$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
type: string
get:
tags:
+ - "Authentication"
- "Admin"
summary: Query information about an individual Token
description: Query information about an individual Token
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Authentication"
- "Admin"
summary: Delete the Token indicated as parameter
description: Delete the Token indicated as parameter
'/admin/v1/users':
get:
tags:
+ - "Identity"
- "Admin"
summary: Query information about multiple Users
description: Query information about multiple Users
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Identity"
- "Admin"
summary: Create a new User
description: Create a new User
type: string
get:
tags:
+ - "Identity"
- "Admin"
summary: Query information about an individual User
description: Query information about an individual User
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Identity"
- "Admin"
summary: Modify a User
description: Modify a User
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Identity"
- "Admin"
summary: Delete a User
description: Delete a User
'/admin/v1/projects':
get:
tags:
+ - "Identity"
- "Admin"
summary: Query information about multiple Projects
description: Query information about multiple Projects
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Identity"
- "Admin"
summary: Create a new Project
description: Create a new Project
type: string
get:
tags:
+ - "Identity"
- "Admin"
summary: Query information about an individual Project
description: Query information about an individual Project
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Identity"
- "Admin"
summary: Modify a Project
description: Modify a Project
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Identity"
- "Admin"
summary: Delete a Project
description: Delete a Project
'/admin/v1/roles':
get:
tags:
+ - "Identity"
- "Admin"
summary: Query information about multiple Roles
description: Query information about multiple Roles
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Identity"
- "Admin"
summary: Create a new Role
description: Create a new Role
type: string
get:
tags:
+ - "Identity"
- "Admin"
summary: Query information about an individual Role
description: Query information about an individual Role
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Identity"
- "Admin"
summary: Modify a Role
description: Modify a Role
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Identity"
- "Admin"
summary: Delete a Role
description: Delete a Role
'/admin/v1/vims':
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about multiple VIMs
description: Query information about multiple VIMs
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Infrastructure"
- "Admin"
summary: Create a new VIM
description: Create a new VIM
format: uuid
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about an individual VIM
description: Query information about an individual VIM
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Infrastructure"
- "Admin"
summary: Modify a VIM
description: Modify a VIM
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Infrastructure"
- "Admin"
summary: Delete a VIM
description: Delete a VIM
'/admin/v1/vim_accounts':
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about multiple VIM Accounts
description: Query information about multiple VIM Accounts
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Infrastructure"
- "Admin"
summary: Create a new VIM Account
description: Create a new VIM Account
format: uuid
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about an individual VIM Account
description: Query information about an individual VIM Account
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Infrastructure"
- "Admin"
summary: Modify a VIM Account
description: Modify a VIM Account
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Infrastructure"
- "Admin"
summary: Delete a VIM Account
description: Delete a VIM Account
'/admin/v1/wim_accounts':
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about multiple WIM Accounts
description: Query information about multiple WIM Accounts
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Infrastructure"
- "Admin"
summary: Create a new WIM Account
description: Create a new WIM Account
format: uuid
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about an individual WIM Account
description: Query information about an individual WIM Account
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Infrastructure"
- "Admin"
summary: Modify a WIM Account
description: Modify a WIM Account
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Infrastructure"
- "Admin"
summary: Delete a WIM Account
description: Delete a WIM Account
'/admin/v1/sdns':
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about multiple SDNs
description: Query information about multiple SDNs
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Infrastructure"
- "Admin"
summary: Create a new SDN
description: Create a new SDN
format: uuid
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about an individual SDN
description: Query information about an individual SDN
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Infrastructure"
- "Admin"
summary: Modify a SDN
description: Modify a SDN
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Infrastructure"
- "Admin"
summary: Delete a SDN
description: Delete a SDN
'/admin/v1/k8sclusters':
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about multiple K8s Clusters
description: Query information about multiple K8s Clusters
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Infrastructure"
- "Admin"
summary: Create a new K8s Cluster
description: Create a new K8s Cluster
format: uuid
get:
tags:
+ - "Infrastructure"
- "Admin"
summary: Query information about an individual K8s Cluster
description: Query information about an individual K8s Cluster
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Infrastructure"
- "Admin"
summary: Modify a K8s Cluster
description: Modify a K8s Cluster
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Infrastructure"
- "Admin"
summary: Delete a K8s Cluster
description: Delete a K8s Cluster
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/admin/v1/k8srepos':
+ '/admin/v1/vca':
get:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Query information about multiple K8s Repos
- description: Query information about multiple K8s Repos
- operationId: getK8sRepos
+ 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/ArrayOfK8sRepoInfo'
+ $ref: '#/components/schemas/ArrayOfVcaInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
+ $ref: '#/components/schemas/ArrayOfVcaInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Create a new K8s Repo
- description: Create a new K8s Repo
- operationId: createK8sRepo
+ summary: Create a new VCA
+ description: Create a new VCA
+ operationId: createVca
requestBody:
- $ref: '#/components/requestBodies/CreateK8sRepoRequest'
+ $ref: '#/components/requestBodies/CreateVcaRequest'
responses:
'202':
description: Accepted
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/admin/v1/k8srepos/{k8sRepoId}':
+ '/admin/v1/vca/{vcaId}':
parameters:
- - name: k8sRepoId
+ - name: vcaId
in: path
required: true
- description: K8s Repo ID
+ description: VCA ID
schema:
type: string
format: uuid
get:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Query information about an individual K8s Repo
- description: Query information about an individual K8s Repo
- operationId: getK8sRepo
+ 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/K8sRepoInfo'
+ $ref: '#/components/schemas/VcaInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/K8sRepoInfo'
+ $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/UnexpectedError'
delete:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Delete a K8s Repo
- description: Delete a K8s Repo
- operationId: deleteK8sRepo
+ summary: Delete a VCA
+ description: Delete a VCA
+ operationId: deleteVca
responses:
'202':
description: Accepted
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
-# END Admin
-
-externalDocs:
- description: Find out more about OSM
- url: 'https://osm.etsi.org/docs/user-guide/'
-
-components:
- responses:
- BadRequest:
- description: Bad request. The server cannot process the request due to a client error.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- Unauthorized:
- description: Authorization information is missing or invalid.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- Forbidden:
- description: Not enough permissions to do this operation.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- NotFound:
- description: The specified resource was not found.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- MethodNotAllowed:
- description: This method is not supported for the requested resource.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- NotAcceptable:
- description: The requested resource content cannot match the Accept headers sent in the request.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- Conflict:
- description: The operation cannot be executed currently, due to a conflict with the state of the resource.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- UnprocessableEntity:
- description: The request was well-formed but was unable to be followed due to semantic errors.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProblemDetails'
- InternalServerError:
- description: Internal server error.
+ '/admin/v1/k8srepos':
+ get:
+ tags:
+ - "Repositories"
+ - "Admin"
+ summary: Query information about multiple K8s Repos
+ description: Query information about multiple K8s Repos
+ operationId: getK8sRepos
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfK8sRepoInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - "Repositories"
+ - "Admin"
+ summary: Create a new K8s Repo
+ description: Create a new K8s Repo
+ operationId: createK8sRepo
+ requestBody:
+ $ref: '#/components/requestBodies/CreateK8sRepoRequest'
+ responses:
+ '202':
+ description: Accepted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ObjectId_plus_OpId'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/admin/v1/k8srepos/{k8sRepoId}':
+ parameters:
+ - name: k8sRepoId
+ in: path
+ required: true
+ description: K8s Repo ID
+ schema:
+ type: string
+ format: uuid
+ get:
+ tags:
+ - "Repositories"
+ - "Admin"
+ summary: Query information about an individual K8s Repo
+ description: Query information about an individual K8s Repo
+ operationId: getK8sRepo
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/K8sRepoInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/K8sRepoInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - "Repositories"
+ - "Admin"
+ summary: Delete a K8s Repo
+ description: Delete a K8s Repo
+ operationId: deleteK8sRepo
+ responses:
+ '202':
+ description: Accepted
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END Admin
+
+externalDocs:
+ description: Find out more about OSM
+ url: 'https://osm.etsi.org/docs/user-guide/'
+
+components:
+ responses:
+ BadRequest:
+ description: Bad request. The server cannot process the request due to a client error.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ Unauthorized:
+ description: Authorization information is missing or invalid.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ Forbidden:
+ description: Not enough permissions to do this operation.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ NotFound:
+ description: The specified resource was not found.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ MethodNotAllowed:
+ description: This method is not supported for the requested resource.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ NotAcceptable:
+ description: The requested resource content cannot match the Accept headers sent in the request.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ Conflict:
+ description: The operation cannot be executed currently, due to a conflict with the state of the resource.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ UnprocessableEntity:
+ description: The request was well-formed but was unable to be followed due to semantic errors.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ InternalServerError:
+ description: Internal server error.
content:
application/json:
schema:
application/zip:
schema:
$ref: '#/components/schemas/NetSlicePackage'
+ NslcmSubscriptionResponse:
+ description: NslcmSubscriptionResponse
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionResponse'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionResponse'
# END RESPONSES
schemas:
additionalParamsForNs:
type: object
additionalProperties: true
- additionalParamsForVnf:
+ additionalParamsForVnf: &additionalparamsforvnf
type: array
items:
type: object
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:
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
- - additionalParams
+ minProperties: 2
additionalProperties: false
required:
- member-vnf-index
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: 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
type: string
enum:
- SCALE_VNF
+ timeout_ns_scale:
+ description: timeout for the scale operation
+ type: integer
scaleVnfData:
type: object
properties:
properties:
scaling-group-descriptor:
type: string
+ scaling-policy:
+ type: string
member-vnf-index:
type: string
- additionalProperties: true
- additionalProperties: true
- additionalProperties: true
+ required:
+ - scaling-group-descriptor
+ - member-vnf-index
+ additionalProperties: false
+ required:
+ - scaleVnfType
+ - scaleByStepData
+ additionalProperties: false
+ required:
+ - scaleType
+ - scaleVnfData
+ additionalProperties: false
TerminateNsRequest:
type: object
properties:
- terminationTime:
- description: |
- Timestamp indicating the end time of the NS, i.e. the NS will be terminated
- automatically at this timestamp. Cardinality "0" indicates the NS termination
- takes place immediately.
- type: string
- format: date-time
+ 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:
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'
- lcmOperationType:
- type: string
- nsInstanceId:
- type: string
- format: uuid
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
additionalParamsForNs:
type: object
additionalProperties: true
- additionalParamsForVnf:
- type: array
- items:
- type: object
- properties:
- member-vnf-index:
- type: string
- additionalParams:
- type: object
- additionalProperties: true
- additionalParamsForVdu:
- type: array
- items:
- type: object
- properties:
- vdu_id:
- type: string
- additionalParams:
- type: object
- additionalProperties: true
- required:
- - vdu_id
- - additionalParams
- additionalProperties: false
- additionalParamsForKdu:
- type: array
- items:
- type: object
- properties:
- kdu_name:
- type: string
- additionalParams:
- type: object
- additionalProperties: true
- required:
- - kdu_name
- - additionalParams
- additionalProperties: false
- required:
- - member-vnf-index
- minProperties: 2
- additionalProperties: false
+ additionalParamsForVnf: *additionalparamsforvnf
ssh_keys:
type: array
items:
type: integer
minimum: 0
nullable: false
- nsts:
+ slice_templates:
type: integer
minimum: 0
nullable: false
- pdus:
+ pduds:
type: integer
minimum: 0
nullable: false
- nsrs:
+ ns_instances:
type: integer
minimum: 0
nullable: false
- nsis:
+ slice_instances:
type: integer
minimum: 0
nullable: false
type: integer
minimum: 0
nullable: false
- sdns:
+ 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
type: integer
minimum: 0
nullable: true
- nsts:
+ slice_templates:
type: integer
minimum: 0
nullable: true
- pdus:
+ pduds:
type: integer
minimum: 0
nullable: true
- nsrs:
+ ns_instances:
type: integer
minimum: 0
nullable: true
- nsis:
+ slice_instances:
type: integer
minimum: 0
nullable: true
type: integer
minimum: 0
nullable: true
- sdns:
+ 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
type: string
vim_password:
type: string
+ vca:
+ type: string
+ format: uuid
config:
type: object
additionalProperties: true
type: string
vim_password:
type: string
+ vca:
+ type: string
+ format: uuid
config:
type: object
additionalProperties: true
type: string
vim_password:
type: string
+ vca:
+ type: string
+ format: uuid
config:
type: object
additionalProperties: true
items:
type: string
additionalProperties: false
+ VcaInfo:
+ type: object
+ properties:
+ _id:
+ type: string
+ format: uuid
+ schema_version:
+ type: string
+ format: X.Y[.Z]
+ schema_type:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ endpoints:
+ type: string
+ user:
+ type: string
+ secret:
+ type: string
+ cacert:
+ type: string
+ lxd-cloud:
+ type: string
+ lxd-credentials:
+ type: string
+ k8s-cloud:
+ type: string
+ k8s-credentials:
+ type: string
+ model-config:
+ type: object
+ additionalProperties: true
+ ArrayOfVcaInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/VcaInfo'
+ CreateVcaRequest:
+ type: object
+ properties:
+ schema_version:
+ type: string
+ format: X.Y[.Z]
+ schema_type:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ endpoints:
+ type: string
+ user:
+ type: string
+ secret:
+ type: string
+ cacert:
+ type: string
+ lxd-cloud:
+ type: string
+ lxd-credentials:
+ type: string
+ k8s-cloud:
+ type: string
+ k8s-credentials:
+ type: string
+ model-config:
+ type: object
+ additionalProperties: true
+ required:
+ - name
+ - endpoints
+ - user
+ - secret
+ - cacert
+ - lxd-cloud
+ - lxd-credentials
+ - k8s-cloud
+ - k8s-credentials
+ additionalProperties: false
+ EditVcaRequest:
+ type: object
+ properties:
+ name:
+ type: string
+ description:
+ type: string
+ endpoints:
+ type: string
+ user:
+ type: string
+ secret:
+ type: string
+ cacert:
+ type: string
+ lxd-cloud:
+ type: string
+ lxd-credentials:
+ type: string
+ k8s-cloud:
+ type: string
+ k8s-credentials:
+ type: string
+ model-config:
+ type: object
+ additionalProperties: true
+ additionalProperties: false
K8sRepoType:
type: string
enum:
- type
- url
additionalProperties: false
+ NslcmSubscriptionResponse:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ filter:
+ type: object
+ CallbackUri:
+ type: string
+ format: uri
+ _links:
+ type: object
+ NslcmSubscriptionInfo:
+ type: object
+ properties:
+ _id:
+ type: string
+ format: uuid
+ _admin:
+ type: object
+ schema_version:
+ type: string
+ format: 'X.Y[.Z]'
+ CallbackUri:
+ type: string
+ format: uri
+ filter:
+ type: object
+ authentication:
+ $ref: '#/components/schemas/Authenticationschema'
+ ArrayOfNslcmSubscriptionInfo:
+ type: array
+ items:
+ $ref: '#/components/schemas/NslcmSubscriptionInfo'
+ NsInstanceSubscriptionFilter:
+ description: |
+ used to identify the network service
+ type: object
+ oneOf:
+ - $ref: '#/components/schemas/nsdIds'
+ - $ref: '#/components/schemas/vnfdIds'
+ - $ref: '#/components/schemas/pnfdIds'
+ - $ref: '#/components/schemas/nsInstanceIds'
+ - $ref: '#/components/schemas/nsInstanceNames'
+ nsdIds:
+ type: array
+ items:
+ type: string
+ vnfdIds:
+ type: array
+ items:
+ type: string
+ pnfdIds:
+ type: array
+ items:
+ type: string
+ nsInstanceIds:
+ type: array
+ items:
+ type: string
+ nsInstanceNames:
+ type: array
+ items:
+ type: string
+ Nslcmsubschema:
+ type: object
+ properties:
+ nsInstanceSubscriptionFilter:
+ $ref: '#/components/schemas/NsInstanceSubscriptionFilter'
+ notificationTypes:
+ description: |
+ If NsLcmOperationOccurrenceNotification is selected then at least operationTypes or states is required. If NsLcmOperationOccurrenceNotification is selected then at least nsComponentTypes, lcmOpName and lcmOpOccStatus is required
+ type: array
+ items:
+ type: string
+ enum:
+ - NsIdentifierCreationNotification
+ - NsIdentifierDeletionNotification
+ - NsLcmOperationOccurrenceNotification
+ - NsChangeNotification
+ operationTypes:
+ type: array
+ items:
+ type: string
+ enum:
+ - INSTANTIATE
+ - SCALE
+ - TERMINATE
+ - UPDATE
+ - HEAL
+ operationStates:
+ type: array
+ items:
+ type: string
+ enum:
+ - PROCESSING
+ - COMPLETED
+ - PARTIALLY_COMPLETED
+ - FAILED
+ - FAILED_TEMP
+ - ROLLING_BACK
+ - ROLLED_BACK
+ nsComponentTypes:
+ type: array
+ items:
+ type: string
+ enum:
+ - VNF
+ - NS
+ - PNF
+ lcmOpNameImpactingNsComponent:
+ type: array
+ items:
+ type: string
+ enum:
+ - VNF_INSTANTIATE
+ - VNF_SCALE
+ - VNF_SCALE_TO_LEVEL
+ - VNF_CHANGE_FLAVOUR
+ - VNF_TERMINATE
+ - VNF_HEAL
+ - VNF_OPERATE
+ - VNF_CHANGE_EXT_CONN
+ - VNF_MODIFY_INFO
+ - NS_INSTANTIATE
+ - NS_SCALE
+ - NS_UPDATE
+ - NS_TERMINATE
+ - NS_HEAL
+ lcmOpOccStatusImpactingNsComponent:
+ type: array
+ items:
+ type: string
+ enum:
+ - START
+ - COMPLETED
+ - PARTIALLY_COMPLETED
+ - FAILED
+ - ROLLED_BACK
+ Authenticationschema:
+ type: object
+ properties:
+ authType:
+ type: string
+ enum:
+ - basic
+ paramsBasic:
+ type: object
+ properties:
+ userName:
+ type: string
+ password:
+ type: string
+ NslcmSubscriptionRequest:
+ type: object
+ properties:
+ filter:
+ $ref: '#/components/schemas/Nslcmsubschema'
+ CallbackUri:
+ type: string
+ format: uri
+ authentication:
+ $ref: '#/components/schemas/Authenticationschema'
+ required:
+ - CallbackUri
# END SCHEMAS
requestBodies:
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:
application/yaml:
schema:
$ref: '#/components/schemas/CreateK8sRepoRequest'
+ NslcmSubscriptionRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionRequest'
# END REQUEST BODIES
securitySchemes: