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/ns_instances/{nsInstanceId}/heal':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Heal a NS instance
+ description: |
+ Heal a NS instance. The precondition is that the NS instance must have
+ been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state remains
+ INSTANTIATED.
+ operationId: healNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/HealNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/migrate':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Migrate VNFs in a NS instance
+ description: |
+ Migrate the VNFs and VDUs in a NS instance. The precondition is
+ that the NS instance must have been created and must be in
+ INSTANTIATED state. As a result of the success of this operation,
+ the NFVO creates a "NS Lifecycle Operation Occurrence" resource
+ for the request, and the NS instance state remains INSTANTIATED.
+ operationId: migrateNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/NSinstanceMigrateRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances/{nsInstanceId}/terminate':
parameters:
- name: nsInstanceId
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/update':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Update a NS instance
+ description: |
+ Update a NS instance. The precondition is that the NS instance must have
+ been created and must be in INSTANTIATED state. As a result of the
+ success of this operation, the NFVO creates a "NS Lifecycle Operation
+ Occurrence" resource for the request, and the NS instance state remains
+ INSTANTIATED.
+ operationId: updateNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/UpdateNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/ns_instances/{nsInstanceId}/verticalscale':
+ parameters:
+ - name: nsInstanceId
+ in: path
+ required: true
+ description: NS Instance ID
+ schema:
+ type: string
+ post:
+ tags:
+ - "NS instances"
+ summary: Vertical scale a NS instance
+ description:
+ Execute an verticalscale on a NS instance.
+ The NS instance must have been created and must be in INSTANTIATED state.
+ operationId: verticalscaleNSinstance
+ requestBody:
+ $ref: '#/components/requestBodies/VerticalscaleNsRequest'
+ responses:
+ '202':
+ description: Accepted
+ headers:
+ Location:
+ description: |
+ It must point to the new "NS Lifecycle Operation Occurrence"
+ resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+ schema:
+ type: string
+ format: uri
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
'/nslcm/v1/ns_instances_content':
get:
tags:
type: string
get:
tags:
- - "NS instances"
- summary: Query information about an individual NS LCM Operation Occurrence
- description: Query information about an individual NS LCM Operation Occurrence
- operationId: getNSLCMOpOcc
+ - "NS instances"
+ summary: Query information about an individual NS LCM Operation Occurrence
+ description: Query information about an individual NS LCM Operation Occurrence
+ operationId: getNSLCMOpOcc
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NsLcmOpOcc'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NsLcmOpOcc'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/vnf_instances':
+ get:
+ tags:
+ - "NS instances"
+ summary: Query information about multiple VNF Instances
+ description: Query information about multiple VNF Instances
+ operationId: getVnfInstances
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/vnf_instances/{vnfInstanceId}':
+ parameters:
+ - name: vnfInstanceId
+ in: path
+ required: true
+ description: VNF Instance ID
+ schema:
+ type: string
+ get:
+ tags:
+ - "NS instances"
+ summary: Query information about an individual VNF Instance
+ description: Query information about an individual VNF Instance
+ operationId: getVnfInstance
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VnfInstanceInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VnfInstanceInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ '5XX':
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/subscriptions':
+ get:
+ tags:
+ - NS instances
+ summary: Query information about multiple NS instance subscription
+ description: Query information about multiple NS instance subscription
+ operationId: getNsSubcriptions
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ 5XX:
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ post:
+ tags:
+ - NS instances
+ summary: Create a new subscription for the Network service
+ description: Create a new subscription for the Network service
+ operationId: addNsSubcriptions
+ requestBody:
+ $ref: '#/components/requestBodies/NslcmSubscriptionRequest'
+ responses:
+ '201':
+ description: Created
+ headers:
+ Location:
+ schema:
+ type: object
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionResponse'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionResponse'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ 5XX:
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ '/nslcm/v1/subscriptions/{nsSubscriptionsId}':
+ parameters:
+ - name: nsSubscriptionsId
+ in: path
+ required: true
+ description: Network Service Subscription ID
+ schema:
+ type: string
+ get:
+ tags:
+ - NS instances
+ summary: Read information about an individual Network Service Subscription
+ description: Read information about an individual Network Service Subscription
+ operationId: getNsSubcriptionId
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionInfo'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NslcmSubscriptionInfo'
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ 5XX:
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+ delete:
+ tags:
+ - NS instances
+ summary: Delete an individual Network Service Subscription
+ description: Delete an individual Network Service Subscription
+ operationId: deleteNsSubcriptionId
+ responses:
+ '204':
+ description: No Content
+ '400':
+ $ref: '#/components/responses/BadRequest'
+ '401':
+ $ref: '#/components/responses/Unauthorized'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '404':
+ $ref: '#/components/responses/NotFound'
+ '405':
+ $ref: '#/components/responses/MethodNotAllowed'
+ '406':
+ $ref: '#/components/responses/NotAcceptable'
+ '409':
+ $ref: '#/components/responses/Conflict'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
+ '500':
+ $ref: '#/components/responses/InternalServerError'
+ '503':
+ $ref: '#/components/responses/ServiceUnavailable'
+ 5XX:
+ $ref: '#/components/responses/UnexpectedError'
+ default:
+ $ref: '#/components/responses/UnexpectedError'
+# END NS Instances
+
+# BEGIN Alarms
+ '/nsfm/v1/alarms':
+ get:
+ tags:
+ - "Alarms"
+ summary: Query information about multiple alarms
+ description: Query information about multiple alarms
+ operationId: getAlarms
responses:
'200':
description: OK
content:
application/json:
schema:
- $ref: '#/components/schemas/NsLcmOpOcc'
+ $ref: '#/components/schemas/ArrayOfAlarm'
application/yaml:
schema:
- $ref: '#/components/schemas/NsLcmOpOcc'
+ $ref: '#/components/schemas/ArrayOfAlarm'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/vnf_instances':
+ '/nsfm/v1/alarms/{uuid}':
+ parameters:
+ - name: uuid
+ in: path
+ required: true
+ description: Alarm UUID
+ schema:
+ type: string
get:
tags:
- - "NS instances"
- summary: Query information about multiple VNF Instances
- description: Query information about multiple VNF Instances
- operationId: getVnfInstances
+ - "Alarms"
+ summary: Read an individual Alarm
+ description: Read an individual Alarm
+ operationId: getAlarm
responses:
'200':
description: OK
content:
application/json:
schema:
- $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
+ $ref: '#/components/schemas/Alarm'
application/yaml:
schema:
- $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
+ $ref: '#/components/schemas/Alarm'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/nslcm/v1/vnf_instances/{vnfInstanceId}':
- parameters:
- - name: vnfInstanceId
- in: path
- required: true
- description: VNF Instance ID
- schema:
- type: string
- get:
+ patch:
tags:
- - "NS instances"
- summary: Query information about an individual VNF Instance
- description: Query information about an individual VNF Instance
- operationId: getVnfInstance
+ - "Alarms"
+ summary: Modify the data of an individual Alarm
+ description: Modify the data of an individual Alarm
+ operationId: updateAlarm
+ requestBody:
+ $ref: '#/components/requestBodies/AlarmInfoModifications'
responses:
- '200':
- description: OK
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/VnfInstanceInfo'
- application/yaml:
- schema:
- $ref: '#/components/schemas/VnfInstanceInfo'
+ '204':
+ description: No Content
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
-# END NS Instances
+# END Alarms
# BEGIN NetSlice Templates
'/nst/v1/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
content:
application/json:
schema:
- $ref: '#/components/schemas/TokenInfo'
+ oneOf:
+ - $ref: '#/components/schemas/TokenInfo'
+ - $ref: '#/components/schemas/PasswordExpiryInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/TokenInfo'
+ oneOf:
+ - $ref: '#/components/schemas/TokenInfo'
+ - $ref: '#/components/schemas/PasswordExpiryInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$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
+ 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 SDNs
- description: Query information about multiple SDNs
- operationId: getSDNs
+ 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/ArrayOfSdnInfo'
+ $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/ArrayOfSdnInfo'
+ $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Create a new SDN
- description: Create a new SDN
- operationId: createSDN
+ summary: Create a new K8s Cluster
+ description: Create a new K8s Cluster
+ operationId: createK8sCluster
requestBody:
- $ref: '#/components/requestBodies/CreateSdnRequest'
+ $ref: '#/components/requestBodies/CreateK8sClusterRequest'
responses:
'202':
description: Accepted
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/admin/v1/sdns/{sdnId}':
+ '/admin/v1/k8sclusters/{k8sClusterId}':
parameters:
- - name: sdnId
+ - name: k8sClusterId
in: path
required: true
- description: SDN ID
+ description: K8s Cluster 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
+ 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/SdnInfo'
+ $ref: '#/components/schemas/K8sClusterInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/SdnInfo'
+ $ref: '#/components/schemas/K8sClusterInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Modify a SDN
- description: Modify a SDN
- operationId: editSDN
+ summary: Modify a K8s Cluster
+ description: Modify a K8s Cluster
+ operationId: editK8sCluster
requestBody:
- $ref: '#/components/requestBodies/EditSdnRequest'
+ $ref: '#/components/requestBodies/EditK8sClusterRequest'
responses:
'202':
description: Accepted
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Delete a SDN
- description: Delete a SDN
- operationId: deleteSDN
+ summary: Delete a K8s Cluster
+ description: Delete a K8s Cluster
+ operationId: deleteK8sCluster
responses:
'202':
description: Accepted
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/admin/v1/k8sclusters':
+ '/admin/v1/vca':
get:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Query information about multiple K8s Clusters
- description: Query information about multiple K8s Clusters
- operationId: getK8sClusters
+ 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/ArrayOfK8sClusterInfo'
+ $ref: '#/components/schemas/ArrayOfVcaInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
+ $ref: '#/components/schemas/ArrayOfVcaInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Create a new K8s Cluster
- description: Create a new K8s Cluster
- operationId: createK8sCluster
+ summary: Create a new VCA
+ description: Create a new VCA
+ operationId: createVca
requestBody:
- $ref: '#/components/requestBodies/CreateK8sClusterRequest'
+ $ref: '#/components/requestBodies/CreateVcaRequest'
responses:
'202':
description: Accepted
$ref: '#/components/responses/UnexpectedError'
default:
$ref: '#/components/responses/UnexpectedError'
- '/admin/v1/k8sclusters/{k8sClusterId}':
+ '/admin/v1/vca/{vcaId}':
parameters:
- - name: k8sClusterId
+ - name: vcaId
in: path
required: true
- description: K8s Cluster ID
+ description: VCA 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
+ 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/K8sClusterInfo'
+ $ref: '#/components/schemas/VcaInfo'
application/yaml:
schema:
- $ref: '#/components/schemas/K8sClusterInfo'
+ $ref: '#/components/schemas/VcaInfo'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/UnexpectedError'
patch:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Modify a K8s Cluster
- description: Modify a K8s Cluster
- operationId: editK8sCluster
+ summary: Modify a VCA
+ description: Modify a VCA
+ operationId: editVca
requestBody:
- $ref: '#/components/requestBodies/EditK8sClusterRequest'
+ $ref: '#/components/requestBodies/EditVcaRequest'
responses:
'202':
description: Accepted
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Infrastructure"
- "Admin"
- summary: Delete a K8s Cluster
- description: Delete a K8s Cluster
- operationId: deleteK8sCluster
+ summary: Delete a VCA
+ description: Delete a VCA
+ operationId: deleteVca
responses:
'202':
description: Accepted
'/admin/v1/k8srepos':
get:
tags:
+ - "Repositories"
- "Admin"
summary: Query information about multiple K8s Repos
description: Query information about multiple K8s Repos
$ref: '#/components/responses/UnexpectedError'
post:
tags:
+ - "Repositories"
- "Admin"
summary: Create a new K8s Repo
description: Create a new K8s Repo
format: uuid
get:
tags:
+ - "Repositories"
- "Admin"
summary: Query information about an individual K8s Repo
description: Query information about an individual K8s Repo
$ref: '#/components/responses/UnexpectedError'
delete:
tags:
+ - "Repositories"
- "Admin"
summary: Delete a K8s Repo
description: Delete a K8s Repo
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:
description:
description: NSD Description
type: string
+ AlarmInfoModifications:
+ description: |
+ Alarm Information
+ type: object
+ properties:
+ id:
+ description: UUID
+ type: string
+ is_enable:
+ description: To enable/disable the alarm.
+ type: string
+ threshold:
+ description: Threshold value of the Alarm
+ type: string
NsdInfo:
description: |
NS Descriptor Information
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
- TerminateNsRequest:
+ required:
+ - scaling-group-descriptor
+ - member-vnf-index
+ additionalProperties: false
+ required:
+ - scaleVnfType
+ - scaleByStepData
+ additionalProperties: false
+ required:
+ - scaleType
+ - scaleVnfData
+ additionalProperties: false
+ HealNsRequest:
+ description: >
+ This type represents request parameters for the "Heal NS" operation. This operation supports the healing of an NS
+ instance by healing one or more of the VNF that are part of this NS.
type: object
properties:
- 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.
+ timeout_ns_heal:
+ description: timeout for the heal operation in seconds
+ type: integer
+ healVnfData:
+ description: >
+ List of VNF to be healed, together with the information needed to heal each.
+ type: array
+ items:
+ $ref: "#/components/schemas/HealVnfData"
+ required:
+ - healVnfData
+ HealVnfData:
+ description: >
+ This type represents the information to heal a VNF that is part of an NS.
+ type: object
+ required:
+ - vnfInstanceId
+ properties:
+ vnfInstanceId:
+ description: >
+ Identifies the VNF instance, part of the NS, requiring a
+ healing action.
type: string
- format: date-time
+ format: uuid
+ cause:
+ description: >
+ Indicates the reason why a healing procedure is required.
+ type: string
+ additionalParams:
+ description: >
+ Additional parameters passed by the NFVO as input to
+ the healing process, specific to the VNF being healed.
+ type: object
+ properties:
+ run-day1:
+ description: >
+ Flag to indicate whether or not to run day1 primitives for the VNF (default: false).
+ type: boolean
+ default: false
+ vdu:
+ description: >
+ List of VDU to be healed, together with the information needed to heal each.
+ type: array
+ items:
+ $ref: "#/components/schemas/HealVduData"
+ HealVduData:
+ description: >
+ This type represents the information to heal a VDU that is part of a VNF.
+ type: object
+ required:
+ - vdu-id
+ properties:
+ vdu-id:
+ description: >
+ Identifies the VDU id, part of the VNF, requiring a healing action.
+ type: string
+ format: uuid
+ count-index:
+ description: >
+ Indicates the VDU number when the VDU is part of a scale-group.
+ type: integer
+ minimum: 0
+ run-day1:
+ description: >
+ Flag to indicate whether or not to run day1 primitives for the VDU (default: false).
+ type: boolean
+ default: false
+ NSinstanceMigrateRequest:
+ description: >
+ This type represents request parameters for the "Migrate" operation. This operation supports the migration of an NS
+ instance by migrating one or more of the VDUs that are part of this NS.
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ migrateToHost:
+ type: string
+ vdu:
+ type: object
+ properties:
+ vduId:
+ type: string
+ vduCountIndex:
+ type: integer
+ required:
+ - vduId
+ required:
+ - vnfInstanceId
+ additionalProperties: false
+ TerminateNsRequest:
+ type: object
+ properties:
+ timeout_ns_terminate:
+ description: timeout for terminate operation
+ type: integer
+ autoremove:
+ description: remove network service if termination end without error
+ type: boolean
+ skip_terminate_primitives:
+ description: Do not execute network service termination primitives
+ type: boolean
+ additionalProperties: false
ArrayOfNsInstance:
type: array
items:
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
additionalProperties: false
+ UpdateNsRequest:
+ description: >
+ This type represents request parameters for the "Update NS" operation. This operation supports the update of an NS
+ instance by updating one or more of the VNFs that are part of this NS.
+ type: object
+ properties:
+ updateType:
+ type: string
+ enum:
+ - CHANGE_VNFPKG
+ - REMOVE_VNF
+ - MODIFY_VNF_INFORMATION
+ - OPERATE_VNF
+ changeVnfPackageData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ vnfdId:
+ type: string
+ required:
+ - vnfInstanceId
+ - vnfdId
+ removeVnfInstanceId:
+ type: string
+ modifyVnfInfoData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ vnfdId:
+ type: string
+ required:
+ - vnfInstanceId
+ - vnfdId
+ operateVnfData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ changeStateTo:
+ type: string
+ additionalParam:
+ type: object
+ properties:
+ run-day1:
+ type: boolean
+ vdu_id:
+ type: string
+ count-index:
+ type: number
+ required:
+ - vdu_id
+ - count-index
+ required:
+ - vnfInstanceId
+ - changeStateTo
+ additionalProperties: false
+ required:
+ - updateType
+ additionalProperties: false
+ VerticalscaleNsRequest:
+ description: >
+ This type represents request parameters for the "Vertical Scale NS" operation.
+ This operation supports the vertical scale of an NS instance by verticalscaling
+ one or more of the VNFs that are part of this NS.
+ type: object
+ properties:
+ verticalScale:
+ type: string
+ changeVnfFlavorData:
+ type: object
+ properties:
+ vnfInstanceId:
+ type: string
+ format: uuid
+ additionalParams:
+ type: object
+ properties:
+ vduid:
+ type: string
+ format: uuid
+ vduCountIndex:
+ type: integer
+ virtualMemory:
+ type: integer
+ sizeOfStorage:
+ type: integer
+ numVirtualCpu:
+ type: integer
+ required:
+ - vnfInstanceId
+ - additionalParams
+ additionalProperties: false
+ required:
+ - verticalScale
+ additionalProperties: false
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNSinstanceContentResponse:
type: array
items:
$ref: '#/components/schemas/NetSliceInstance'
+ Alarm:
+ description: |
+ Alarm Information
+ type: object
+ properties:
+ _id:
+ description: Identifier of the Alarm.
+ type: string
+ format: uuid
+ id:
+ description: Identifier of the Alarm.
+ type: string
+ format: uuid
+ metric:
+ description: Alarm metric.
+ type: string
+ threshold:
+ description: Threshold value of the Alarm.
+ type: number
+ format: float
+ operation:
+ description: Operation to be applied.
+ type: string
+ action:
+ description: Action to be taken.
+ type: string
+ status:
+ description: Current status of the alarm.
+ type: string
+ required:
+ - _id
+ - id
+ - metric
+ - threshold
+ - operation
+ ArrayOfAlarm:
+ type: array
+ items:
+ $ref: '#/components/schemas/Alarm'
# CreateNsiRequest:
# Substituted by InstantiateNsiRequest
InstantiateNsiRequest:
nsDescription:
type: string
nullable: true
- wimAccountId:
- oneOf:
- - type: string
- - type: boolean
- nullable: true
- additionalParamsForNs:
- type: object
- additionalProperties: true
- additionalParamsForVnf:
- type: array
- items:
- type: object
- properties:
- member-vnf-index:
- type: string
- additionalParams:
- type: object
- additionalProperties: true
- additionalParamsForVdu:
- type: array
- items:
- type: object
- properties:
- vdu_id:
- type: string
- additionalParams:
- type: object
- additionalProperties: true
- required:
- - vdu_id
- - additionalParams
- additionalProperties: false
- additionalParamsForKdu:
- type: array
- items:
- type: object
- properties:
- kdu_name:
- type: string
- additionalParams:
- type: object
- additionalProperties: true
- required:
- - kdu_name
- - additionalParams
- additionalProperties: false
- required:
- - member-vnf-index
- minProperties: 2
- additionalProperties: false
+ wimAccountId:
+ oneOf:
+ - type: string
+ - type: boolean
+ nullable: true
+ additionalParamsForNs:
+ type: object
+ additionalProperties: true
+ additionalParamsForVnf: *additionalparamsforvnf
ssh_keys:
type: array
items:
format: uuid
name:
type: string
+ PasswordExpiryInfo:
+ type: object
+ properties:
+ id:
+ type: string
+ message:
+ type: string
+ user_id:
+ type: string
+ format: uuid
ArrayOfTokenInfo:
type: array
items:
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
+ resources:
+ type: object
ArrayOfVimInfo:
type: array
items:
type: string
vim_password:
type: string
+ vca:
+ type: string
+ format: uuid
config:
type: object
additionalProperties: true
+ prometheus-config:
+ type: object
+ additionalProperties: true
+ resources:
+ type: object
required:
- name
- vim_url
type: string
vim_password:
type: string
+ vca:
+ type: string
+ format: uuid
+ prometheus-config:
+ type: object
+ additionalProperties: true
config:
type: object
additionalProperties: true
type: array
items:
type: object
- additionalProperties: true
+ additionalProperties: false
+ K8sClusterDeploymentMethods:
+ type: object
+ properties:
+ helm-chart:
+ type: boolean
+ juju-bundle:
+ type: boolean
+ helm-chart-v3:
+ type: boolean
+ additionalProperties: false
+ minProperties: 3
K8sClusterInfo:
type: object
properties:
type: string
nets:
$ref: '#/components/schemas/K8sClusterNetList'
+ deployment_methods:
+ $ref: '#/components/schemas/K8sClusterDeploymentMethods'
namespace:
type: string
cni:
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:
url:
type: string
format: uri
+ username:
+ type: string
+ description: repository username
+ password:
+ type: string
+ description: repository password
+ ca-file:
+ type: string
+ description: verify certificates of HTTPS-enabled servers using this CA bundle
+ cert-file:
+ type: string
+ description: identify HTTPS client using this SSL certificate file
+ skip-tls-verify:
+ type: boolean
+ description: skip tls certificate checks for the repository
+ key-file:
+ type: string
+ description: identify HTTPS client using this SSL key file
ArrayOfK8sRepoInfo:
type: array
items:
- 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/NsdInfoModifications'
+ AlarmInfoModifications:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlarmInfoModifications'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/AlarmInfoModifications'
NsDescriptor:
content:
text/plain:
application/yaml:
schema:
$ref: '#/components/schemas/InstantiateNsRequest'
+ HealNsRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/HealNsRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/HealNsRequest'
+ NSinstanceMigrateRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NSinstanceMigrateRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/NSinstanceMigrateRequest'
ScaleNsRequest:
content:
application/json:
application/yaml:
schema:
$ref: '#/components/schemas/TerminateNsRequest'
+ UpdateNsRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateNsRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/UpdateNsRequest'
+ VerticalscaleNsRequest:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VerticalscaleNsRequest'
+ application/yaml:
+ schema:
+ $ref: '#/components/schemas/VerticalscaleNsRequest'
# CreateNSinstanceContentRequest:
# Substituted by InstantiateNsRequest
CreateNstInfoRequest:
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: