Feature 10997: add oci flag as new property in k8s repos
[osm/SOL005.git] / osm-openapi.yaml
index 959d47f..e9eaad4 100644 (file)
@@ -33,6 +33,14 @@ tags:
     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
 
@@ -1399,6 +1407,12 @@ paths:
         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"
@@ -1591,6 +1605,118 @@ paths:
           $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
@@ -1721,6 +1847,115 @@ paths:
           $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:
@@ -1950,20 +2185,364 @@ paths:
           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/ns_lcm_op_occs/{nsLcmOpOccId}/cancel':
+    parameters:
+      - name: nsLcmOpOccId
+        in: path
+        required: true
+        description: NS LCM Operation Occurrence ID
+        schema:
+          type: string
+    post:
+      tags:
+        - "NS instances"
+      summary: Cancel an ongoing NS lifecycle management operation
+      description: Cancel an ongoing NS lifecycle management operation while it is being executed or rolled back
+      operationId: cancelNSLCMOpOcc
+      requestBody:
+        $ref: '#/components/requestBodies/CancelNSLCMOpOccRequest'
+      responses:
+        '202':
+          description: Accepted
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/nslcm/v1/vnf_instances':
+    get:
+      tags:
+        - "NS instances"
+      summary: Query information about multiple VNF Instances
+      description: Query information about multiple VNF Instances
+      operationId: getVnfInstances
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ArrayOfVnfInstanceInfo'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/nslcm/v1/vnf_instances/{vnfInstanceId}':
+    parameters:
+      - name: vnfInstanceId
+        in: path
+        required: true
+        description: VNF Instance ID
+        schema:
+          type: string
+    get:
+      tags:
+        - "NS instances"
+      summary: Query information about an individual VNF Instance
+      description: Query information about an individual VNF Instance
+      operationId: getVnfInstance
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/VnfInstanceInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/VnfInstanceInfo'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/nslcm/v1/subscriptions':
+    get:
+      tags:
+        - NS instances
+      summary: Query information about multiple NS instance subscription
+      description: Query information about multiple NS instance subscription
+      operationId: getNsSubcriptions
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ArrayOfNslcmSubscriptionInfo'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        5XX:
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    post:
+      tags:
+        - NS instances
+      summary: Create a new subscription for the Network service
+      description: Create a new subscription for the Network service
+      operationId: addNsSubcriptions
+      requestBody:
+        $ref: '#/components/requestBodies/NslcmSubscriptionRequest'
+      responses:
+        '201':
+          description: Created
+          headers:
+            Location:
+              schema:
+                type: object
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/NslcmSubscriptionResponse'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/NslcmSubscriptionResponse'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        5XX:
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/nslcm/v1/subscriptions/{nsSubscriptionsId}':
+    parameters:
+      - name: nsSubscriptionsId
+        in: path
+        required: true
+        description: Network Service Subscription ID
+        schema:
+          type: string
+    get:
+      tags:
+        - NS instances
+      summary: Read information about an individual Network Service Subscription
+      description: Read information about an individual Network Service Subscription
+      operationId: getNsSubcriptionId
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/NslcmSubscriptionInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/NslcmSubscriptionInfo'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        5XX:
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    delete:
+      tags:
+        - NS instances
+      summary: Delete an individual Network Service Subscription
+      description: Delete an individual Network Service Subscription
+      operationId: deleteNsSubcriptionId
+      responses:
+        '204':
+          description: No Content
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        5XX:
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+# END NS Instances
+
+# BEGIN Alarms
+  '/nsfm/v1/alarms':
+    get:
+      tags:
+        - "Alarms"
+      summary: Query information about multiple alarms
+      description: Query information about multiple alarms
+      operationId: getAlarms
       responses:
         '200':
           description: OK
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/NsLcmOpOcc'
+                $ref: '#/components/schemas/ArrayOfAlarm'
             application/yaml:
               schema:
-                $ref: '#/components/schemas/NsLcmOpOcc'
+                $ref: '#/components/schemas/ArrayOfAlarm'
         '400':
           $ref: '#/components/responses/BadRequest'
         '401':
@@ -1988,23 +2567,30 @@ paths:
           $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':
@@ -2029,30 +2615,17 @@ paths:
           $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':
@@ -2077,7 +2650,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
         default:
           $ref: '#/components/responses/UnexpectedError'
-# END NS Instances
+# END Alarms
 
 # BEGIN NetSlice Templates
   '/nst/v1/netslice_templates':
@@ -3573,6 +4146,7 @@ paths:
   '/admin/v1/tokens':
     get:
       tags:
+        - "Authentication"
         - "Admin"
       summary: Query information about multiple Tokens
       description: Query information about multiple Tokens
@@ -3613,6 +4187,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     post:
       tags:
+        - "Authentication"
         - "Admin"
       summary: Request a new Token
       description: Request a new Token
@@ -3630,10 +4205,14 @@ paths:
           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':
@@ -3660,6 +4239,7 @@ paths:
           $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
@@ -3708,6 +4288,7 @@ paths:
           type: string
     get:
       tags:
+        - "Authentication"
         - "Admin"
       summary: Query information about an individual Token
       description: Query information about an individual Token
@@ -3748,6 +4329,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     delete:
       tags:
+        - "Authentication"
         - "Admin"
       summary: Delete the Token indicated as parameter
       description: Delete the Token indicated as parameter
@@ -3789,6 +4371,7 @@ paths:
   '/admin/v1/users':
     get:
       tags:
+        - "Identity"
         - "Admin"
       summary: Query information about multiple Users
       description: Query information about multiple Users
@@ -3829,6 +4412,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     post:
       tags:
+        - "Identity"
         - "Admin"
       summary: Create a new User
       description: Create a new User
@@ -3884,6 +4468,7 @@ paths:
           type: string
     get:
       tags:
+        - "Identity"
         - "Admin"
       summary: Query information about an individual User
       description: Query information about an individual User
@@ -3924,6 +4509,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     patch:
       tags:
+        - "Identity"
         - "Admin"
       summary: Modify a User
       description: Modify a User
@@ -3959,6 +4545,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     delete:
       tags:
+        - "Identity"
         - "Admin"
       summary: Delete a User
       description: Delete a User
@@ -3993,6 +4580,7 @@ paths:
   '/admin/v1/projects':
     get:
       tags:
+        - "Identity"
         - "Admin"
       summary: Query information about multiple Projects
       description: Query information about multiple Projects
@@ -4033,6 +4621,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     post:
       tags:
+        - "Identity"
         - "Admin"
       summary: Create a new Project
       description: Create a new Project
@@ -4088,6 +4677,7 @@ paths:
           type: string
     get:
       tags:
+        - "Identity"
         - "Admin"
       summary: Query information about an individual Project
       description: Query information about an individual Project
@@ -4128,6 +4718,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     patch:
       tags:
+        - "Identity"
         - "Admin"
       summary: Modify a Project
       description: Modify a Project
@@ -4163,6 +4754,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     delete:
       tags:
+        - "Identity"
         - "Admin"
       summary: Delete a Project
       description: Delete a Project
@@ -4197,6 +4789,7 @@ paths:
   '/admin/v1/roles':
     get:
       tags:
+        - "Identity"
         - "Admin"
       summary: Query information about multiple Roles
       description: Query information about multiple Roles
@@ -4237,6 +4830,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     post:
       tags:
+        - "Identity"
         - "Admin"
       summary: Create a new Role
       description: Create a new Role
@@ -4292,6 +4886,7 @@ paths:
           type: string
     get:
       tags:
+        - "Identity"
         - "Admin"
       summary: Query information about an individual Role
       description: Query information about an individual Role
@@ -4332,6 +4927,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     patch:
       tags:
+        - "Identity"
         - "Admin"
       summary: Modify a Role
       description: Modify a Role
@@ -4367,6 +4963,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     delete:
       tags:
+        - "Identity"
         - "Admin"
       summary: Delete a Role
       description: Delete a Role
@@ -4401,6 +4998,7 @@ paths:
   '/admin/v1/vims':
     get:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Query information about multiple VIMs
       description: Query information about multiple VIMs
@@ -4441,6 +5039,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     post:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Create a new VIM
       description: Create a new VIM
@@ -4492,6 +5091,7 @@ paths:
           format: uuid
     get:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Query information about an individual VIM
       description: Query information about an individual VIM
@@ -4532,6 +5132,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     patch:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Modify a VIM
       description: Modify a VIM
@@ -4574,6 +5175,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     delete:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Delete a VIM
       description: Delete a VIM
@@ -4608,6 +5210,7 @@ paths:
   '/admin/v1/vim_accounts':
     get:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Query information about multiple VIM Accounts
       description: Query information about multiple VIM Accounts
@@ -4648,6 +5251,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     post:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Create a new VIM Account
       description: Create a new VIM Account
@@ -4699,6 +5303,7 @@ paths:
           format: uuid
     get:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Query information about an individual VIM Account
       description: Query information about an individual VIM Account
@@ -4739,6 +5344,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     patch:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Modify a VIM Account
       description: Modify a VIM Account
@@ -4781,6 +5387,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     delete:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Delete a VIM Account
       description: Delete a VIM Account
@@ -4815,6 +5422,7 @@ paths:
   '/admin/v1/wim_accounts':
     get:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Query information about multiple WIM Accounts
       description: Query information about multiple WIM Accounts
@@ -4855,6 +5463,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     post:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Create a new WIM Account
       description: Create a new WIM Account
@@ -4906,6 +5515,7 @@ paths:
           format: uuid
     get:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Query information about an individual WIM Account
       description: Query information about an individual WIM Account
@@ -4946,6 +5556,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     patch:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Modify a WIM Account
       description: Modify a WIM Account
@@ -4988,6 +5599,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     delete:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Delete a WIM Account
       description: Delete a WIM Account
@@ -5022,6 +5634,7 @@ paths:
   '/admin/v1/sdns':
     get:
       tags:
+        - "Infrastructure"
         - "Admin"
       summary: Query information about multiple SDNs
       description: Query information about multiple SDNs
@@ -5035,7 +5648,219 @@ paths:
                 $ref: '#/components/schemas/ArrayOfSdnInfo'
             application/yaml:
               schema:
-                $ref: '#/components/schemas/ArrayOfSdnInfo'
+                $ref: '#/components/schemas/ArrayOfSdnInfo'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    post:
+      tags:
+        - "Infrastructure"
+        - "Admin"
+      summary: Create a new SDN
+      description: Create a new SDN
+      operationId: createSDN
+      requestBody:
+        $ref: '#/components/requestBodies/CreateSdnRequest'
+      responses:
+        '202':
+          description: Accepted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId_plus_OpId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId_plus_OpId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/admin/v1/sdns/{sdnId}':
+    parameters:
+      - name: sdnId
+        in: path
+        required: true
+        description: SDN ID
+        schema:
+          type: string
+          format: uuid
+    get:
+      tags:
+        - "Infrastructure"
+        - "Admin"
+      summary: Query information about an individual SDN
+      description: Query information about an individual SDN
+      operationId: getSDN
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/SdnInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/SdnInfo'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    patch:
+      tags:
+        - "Infrastructure"
+        - "Admin"
+      summary: Modify a SDN
+      description: Modify a SDN
+      operationId: editSDN
+      requestBody:
+        $ref: '#/components/requestBodies/EditSdnRequest'
+      responses:
+        '202':
+          description: Accepted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/OpId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/OpId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    delete:
+      tags:
+        - "Infrastructure"
+        - "Admin"
+      summary: Delete a SDN
+      description: Delete a SDN
+      operationId: deleteSDN
+      responses:
+        '202':
+          description: Accepted
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/admin/v1/k8sclusters':
+    get:
+      tags:
+        - "Infrastructure"
+        - "Admin"
+      summary: Query information about multiple K8s Clusters
+      description: Query information about multiple K8s Clusters
+      operationId: getK8sClusters
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ArrayOfK8sClusterInfo'
         '400':
           $ref: '#/components/responses/BadRequest'
         '401':
@@ -5062,12 +5887,13 @@ paths:
           $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
@@ -5102,31 +5928,32 @@ paths:
           $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':
@@ -5153,12 +5980,13 @@ paths:
           $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
@@ -5195,10 +6023,11 @@ paths:
           $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
@@ -5226,23 +6055,24 @@ paths:
           $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':
@@ -5269,12 +6099,13 @@ paths:
           $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
@@ -5309,31 +6140,32 @@ paths:
           $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':
@@ -5360,12 +6192,13 @@ paths:
           $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
@@ -5402,10 +6235,11 @@ paths:
           $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
@@ -5436,6 +6270,7 @@ paths:
   '/admin/v1/k8srepos':
     get:
       tags:
+        - "Repositories"
         - "Admin"
       summary: Query information about multiple K8s Repos
       description: Query information about multiple K8s Repos
@@ -5476,6 +6311,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     post:
       tags:
+        - "Repositories"
         - "Admin"
       summary: Create a new K8s Repo
       description: Create a new K8s Repo
@@ -5527,6 +6363,7 @@ paths:
           format: uuid
     get:
       tags:
+        - "Repositories"
         - "Admin"
       summary: Query information about an individual K8s Repo
       description: Query information about an individual K8s Repo
@@ -5567,6 +6404,7 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
     delete:
       tags:
+        - "Repositories"
         - "Admin"
       summary: Delete a K8s Repo
       description: Delete a K8s Repo
@@ -5708,6 +6546,15 @@ components:
         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:
@@ -5748,6 +6595,20 @@ components:
         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
@@ -5926,7 +6787,7 @@ components:
         additionalParamsForNs:
           type: object
           additionalProperties: true
-        additionalParamsForVnf:
+        additionalParamsForVnf: &additionalparamsforvnf
           type: array
           items:
             type: object
@@ -5936,6 +6797,11 @@ components:
               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:
@@ -5957,12 +6823,17 @@ components:
                   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
@@ -5977,6 +6848,18 @@ components:
           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:
@@ -6092,6 +6975,30 @@ components:
                           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
@@ -6186,6 +7093,9 @@ components:
           type: string
           enum:
             - SCALE_VNF
+        timeout_ns_scale:
+          description: timeout for the scale operation
+          type: integer
         scaleVnfData:
           type: object
           properties:
@@ -6199,21 +7109,130 @@ components:
               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:
@@ -6223,23 +7242,127 @@ components:
       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:
@@ -6402,6 +7525,45 @@ components:
       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:
@@ -6471,48 +7633,7 @@ components:
               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:
@@ -6855,6 +7976,8 @@ components:
           type: string
         admin:
           type: boolean
+        admin_show:
+          type: boolean
         project_id:
           type: string
           format: uuid
@@ -6868,6 +7991,13 @@ components:
         issued_at:
           type: number
           format: float
+        user_show:
+          type: boolean
+        last_login:
+          type: number
+          format: float
+        login_count:
+          type: number
         expires:
           type: number
           format: float
@@ -6886,6 +8016,16 @@ components:
                 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:
@@ -6995,6 +8135,15 @@ components:
           type: string
         password:
           type: string
+        old_password:
+          type: string
+        system_admin_id:
+          type: string
+          format: uuid
+        unlock:
+          type: boolean
+        renew:
+          type: boolean
         projects:
           oneOf:
             - $ref: '#/components/schemas/ShortNameList'
@@ -7016,19 +8165,19 @@ components:
           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
@@ -7040,7 +8189,23 @@ components:
           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
@@ -7056,19 +8221,19 @@ components:
           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
@@ -7080,7 +8245,23 @@ components:
           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
@@ -7209,9 +8390,14 @@ components:
           type: string
         vim_password:
           type: string
+        vca:
+          type: string
+          format: uuid
         config:
           type: object
           additionalProperties: true
+        resources:
+          type: object
     ArrayOfVimInfo:
       type: array
       items:
@@ -7243,9 +8429,17 @@ components:
           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
@@ -7276,6 +8470,12 @@ components:
           type: string
         vim_password:
           type: string
+        vca:
+          type: string
+          format: uuid
+        prometheus-config:
+          type: object
+          additionalProperties: true
         config:
           type: object
           additionalProperties: true
@@ -7583,7 +8783,16 @@ components:
       type: array
       items:
         type: object
-        additionalProperties: true
+        additionalProperties: false
+    K8sClusterDeploymentMethods:
+      type: object
+      properties:
+        juju-bundle:
+          type: boolean
+        helm-chart-v3:
+          type: boolean
+      additionalProperties: false
+      minProperties: 3
     K8sClusterInfo:
       type: object
       properties:
@@ -7609,6 +8818,8 @@ components:
           type: string
         nets:
           $ref: '#/components/schemas/K8sClusterNetList'
+        deployment_methods:
+          $ref: '#/components/schemas/K8sClusterDeploymentMethods'
         namespace:
           type: string
         cni:
@@ -7678,6 +8889,113 @@ components:
           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:
@@ -7698,6 +9016,34 @@ components:
         url:
           type: string
           format: uri
+        username:
+          type: string
+          description: repository username
+        password:
+          type: string
+          description: repository password
+        ca-file:
+          type: string
+          description: verify certificates of HTTPS-enabled servers using this CA bundle
+        cert-file:
+          type: string
+          description: identify HTTPS client using this SSL certificate file
+        skip-tls-verify:
+          type: boolean
+          description: skip tls certificate checks for the repository
+        key-file:
+          type: string
+          description: identify HTTPS client using this SSL key file
+        oci:
+          type: boolean
+          default: false
+          description: >
+            Flag to indicate whether or not it is an OCI-enabled repo (default: false)
+      required:
+        - name
+        - type
+        - url
+      additionalProperties: false
     ArrayOfK8sRepoInfo:
       type: array
       items:
@@ -7719,6 +9065,180 @@ components:
         - type
         - url
       additionalProperties: false
+    NslcmSubscriptionResponse:
+      type: object
+      properties:
+        id:
+          type: string
+          format: uuid
+        filter:
+          type: object
+        CallbackUri:
+          type: string
+          format: uri
+        _links:
+          type: object
+    NslcmSubscriptionInfo:
+      type: object
+      properties:
+        _id:
+          type: string
+          format: uuid
+        _admin:
+          type: object
+        schema_version:
+          type: string
+          format: 'X.Y[.Z]'
+        CallbackUri:
+          type: string
+          format: uri
+        filter:
+          type: object
+        authentication:
+          $ref: '#/components/schemas/Authenticationschema'
+    ArrayOfNslcmSubscriptionInfo:
+      type: array
+      items:
+        $ref: '#/components/schemas/NslcmSubscriptionInfo'
+    NsInstanceSubscriptionFilter:
+      description: |
+        used to identify the network service
+      type: object
+      oneOf:
+        - $ref: '#/components/schemas/nsdIds'
+        - $ref: '#/components/schemas/vnfdIds'
+        - $ref: '#/components/schemas/pnfdIds'
+        - $ref: '#/components/schemas/nsInstanceIds'
+        - $ref: '#/components/schemas/nsInstanceNames'
+    nsdIds:
+      type: array
+      items:
+        type: string
+    vnfdIds:
+      type: array
+      items:
+        type: string
+    pnfdIds:
+      type: array
+      items:
+        type: string
+    nsInstanceIds:
+      type: array
+      items:
+        type: string
+    nsInstanceNames:
+      type: array
+      items:
+        type: string
+    Nslcmsubschema:
+      type: object
+      properties:
+        nsInstanceSubscriptionFilter:
+           $ref: '#/components/schemas/NsInstanceSubscriptionFilter'
+        notificationTypes:
+          description: |
+            If NsLcmOperationOccurrenceNotification is selected then at least operationTypes or states is required. If NsLcmOperationOccurrenceNotification is selected then at least nsComponentTypes, lcmOpName and lcmOpOccStatus is required
+          type: array
+          items:
+            type: string
+            enum:
+              - NsIdentifierCreationNotification
+              - NsIdentifierDeletionNotification
+              - NsLcmOperationOccurrenceNotification
+              - NsChangeNotification
+        operationTypes:
+          type: array
+          items:
+            type: string
+            enum:
+              - INSTANTIATE
+              - SCALE
+              - TERMINATE
+              - UPDATE
+              - HEAL
+        operationStates:
+          type: array
+          items:
+            type: string
+            enum:
+              - PROCESSING
+              - COMPLETED
+              - PARTIALLY_COMPLETED
+              - FAILED
+              - FAILED_TEMP
+              - ROLLING_BACK
+              - ROLLED_BACK
+        nsComponentTypes:
+          type: array
+          items:
+            type: string
+            enum:
+              - VNF
+              - NS
+              - PNF
+        lcmOpNameImpactingNsComponent:
+          type: array
+          items:
+            type: string
+            enum:
+              - VNF_INSTANTIATE
+              - VNF_SCALE
+              - VNF_SCALE_TO_LEVEL
+              - VNF_CHANGE_FLAVOUR
+              - VNF_TERMINATE
+              - VNF_HEAL
+              - VNF_OPERATE
+              - VNF_CHANGE_EXT_CONN
+              - VNF_MODIFY_INFO
+              - NS_INSTANTIATE
+              - NS_SCALE
+              - NS_UPDATE
+              - NS_TERMINATE
+              - NS_HEAL
+        lcmOpOccStatusImpactingNsComponent:
+          type: array
+          items:
+            type: string
+            enum:
+              - START
+              - COMPLETED
+              - PARTIALLY_COMPLETED
+              - FAILED
+              - ROLLED_BACK
+    Authenticationschema:
+      type: object
+      properties:
+        authType:
+          type: string
+          enum:
+            - basic
+        paramsBasic:
+          type: object
+          properties:
+            userName:
+              type: string
+            password:
+              type: string
+    NslcmSubscriptionRequest:
+      type: object
+      properties:
+        filter:
+          $ref: '#/components/schemas/Nslcmsubschema'
+        CallbackUri:
+          type: string
+          format: uri
+        authentication:
+          $ref: '#/components/schemas/Authenticationschema'
+      required:
+        - CallbackUri
+    CancelNSLCMOpOccRequest:
+      type: object
+      properties:
+        cancelMode:
+          type: string
+          enum:
+            - GRACEFUL
+            - FORCEFUL
   # END SCHEMAS
 
   requestBodies:
@@ -7738,6 +9258,14 @@ components:
         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:
@@ -7784,6 +9312,22 @@ components:
         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:
@@ -7800,6 +9344,22 @@ components:
         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:
@@ -7992,6 +9552,22 @@ components:
         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:
@@ -8000,6 +9576,22 @@ components:
         application/yaml:
           schema:
             $ref: '#/components/schemas/CreateK8sRepoRequest'
+    NslcmSubscriptionRequest:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/NslcmSubscriptionRequest'
+        application/yaml:
+          schema:
+            $ref: '#/components/schemas/NslcmSubscriptionRequest'
+    CancelNSLCMOpOccRequest:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/CancelNSLCMOpOccRequest'
+        application/yaml:
+          schema:
+            $ref: '#/components/schemas/CancelNSLCMOpOccRequest'
   # END REQUEST BODIES
 
   securitySchemes: