Feature 11022-11026: Advanced Cluster Management 72/14472/3 master v16.0 release-v16.0-start v16.0.0
authoryshah <shahithya.y@tataelxsi.co.in>
Fri, 5 Jul 2024 14:00:08 +0000 (14:00 +0000)
committeryshah <shahithya.y@tataelxsi.co.in>
Tue, 13 Aug 2024 07:13:55 +0000 (07:13 +0000)
Author: yshah <shahithya.y@tataelxsi.co.in>
Date: Fri Jul 5 14:00:08 2024 +0000
Change-Id: I50e99e296084698ce96d1ba52f831f1ded756c9f
Signed-off-by: yshah <shahithya.y@tataelxsi.co.in>
osm-openapi.yaml

index 15b712f..a8ad2be 100644 (file)
@@ -43,6 +43,12 @@ tags:
     description: Management operations of repositories
   - name: 'Admin'
     description: Management operations of Administration items
     description: Management operations of repositories
   - name: 'Admin'
     description: Management operations of Administration items
+  - name: 'K8s Cluster'
+    description: Management operations of k8s Cluster
+  - name: 'KSU'
+    description: Management operations of KSU
+  - name: 'OKA packages'
+    description: Management operations of OKA packages
 
 security:
   - bearerAuth: []
 
 security:
   - bearerAuth: []
@@ -678,6 +684,282 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
 # END NS Packages
 
           $ref: '#/components/responses/UnexpectedError'
 # END NS Packages
 
+# BEGIN Ns Config Templates
+  '/nsd/v1/ns_config_template':
+    get:
+      tags:
+        - "Ns packages"
+      summary: Query information about multiple Ns config templates
+      description: Query information about multiple Ns config templates
+      operationId: getNsconfigtemplates
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ArrayOfNsConfigTemplateInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ArrayOfNsConfigTemplateInfo'
+        '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 packages"
+      summary: Create a new Ns config template
+      description: |
+        NS config templates are specific configuration templates
+        (instantiation parameters) to be applied to NS packages.
+        when they are instantiated.
+        Template consist of NSD ID, template name and instantiation parameters.
+      operationId: addNsconfigtemplate
+      requestBody:
+        $ref: '#/components/requestBodies/CreateNsConfigTemplateInfoRequest'
+      responses:
+        '201':
+          description: Created
+          headers:
+            Location:
+              schema:
+                type: string
+                format: uri
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/nsd/v1/ns_config_template/{nsconfigTemplateId}':
+    parameters:
+      - name: nsconfigTemplateId
+        in: path
+        required: true
+        description: Ns config template ID
+        schema:
+          type: string
+    get:
+      tags:
+        - "Ns packages"
+      summary: Read information about an individual Ns config template resource
+      description: Read information about an individual Ns config template resource
+      operationId: getNsconfigtemplate
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/NsConfigTemplateInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/NsConfigTemplateInfo'
+        '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 packages"
+      summary: Delete an individual NS config template
+      description: Delete an individual NS config template
+      operationId: deleteNsconfigtemplate
+      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'
+  '/nsd/v1/ns_config_template/{nsconfigTemplateId}/template_content':
+    parameters:
+      - name: nsconfigTemplateId
+        in: path
+        required: true
+        description: Ns config template ID
+        schema:
+          type: string
+    get:
+      tags:
+        - "Ns packages"
+      summary: Fetch the content of a Ns config template
+      description: Fetch the content of a Ns config template
+      operationId: getTemplatecontent
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/NsConfigTemplateInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/NsConfigTemplateInfo'
+        '206':
+          description: Partial Content
+          headers:
+            Content-Range:
+              schema:
+                type: string
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/NsConfigTemplateInfo'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/NsConfigTemplateInfo'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    put:
+      tags:
+        - "Ns packages"
+      summary: Modify the content of a Ns config template
+      description: |
+        Template name and instantiation parameters
+        can be modified.
+      operationId: updateTemplatecontent
+      requestBody:
+        $ref: '#/components/requestBodies/NsConfigTemplateInfoModifications'
+      responses:
+        '202':
+          description: Accepted
+        '204':
+          description: No Content
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+# END Ns Config Templates
+
 # BEGIN VNF Packages
   '/vnfpkgm/v1/vnf_packages':
     get:
 # BEGIN VNF Packages
   '/vnfpkgm/v1/vnf_packages':
     get:
@@ -1903,35 +2185,25 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
         default:
           $ref: '#/components/responses/UnexpectedError'
           $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
+  '/nslcm/v1/ns_instances_terminate':
     post:
       tags:
         - "NS instances"
     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
+      summary: Terminates NS instances
+      description: Terminates multiple NS instances.
+      operationId: MultiNsTerminateRequest
       requestBody:
       requestBody:
-        $ref: '#/components/requestBodies/VerticalscaleNsRequest'
+        $ref: '#/components/requestBodies/MultiNsTerminateRequest'
       responses:
         '202':
           description: Accepted
       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}"
+          content:
+            application/json:
               schema:
               schema:
-                type: string
-                format: uri
+                $ref: '#/components/schemas/ObjectIdList'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectIdList'
         '400':
           $ref: '#/components/responses/BadRequest'
         '401':
         '400':
           $ref: '#/components/responses/BadRequest'
         '401':
@@ -4142,19 +4414,1890 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
 # END PDU
 
           $ref: '#/components/responses/UnexpectedError'
 # END PDU
 
-# BEGIN Admin
-  '/admin/v1/tokens':
+# BEGIN k8s Cluster
+  '/k8scluster/v1/clusters':
     get:
       tags:
     get:
       tags:
-        - "Authentication"
-        - "Admin"
-      summary: Query information about multiple Tokens
-      description: Query information about multiple Tokens
-      operationId: getTokens
+        - 'K8s Cluster'
+      summary: Listing All Clusters
+      description: This API is used to obtain details about all clusters
+      operationId: listk8sCluster
       responses:
         '200':
           description: OK
       responses:
         '200':
           description: OK
-          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'
+    post:
+      tags:
+        - "K8s Cluster"
+      summary: Creating a Cluster
+      description: This API is used to create cluster
+      operationId: createk8sCluster
+      requestBody:
+        $ref: '#/components/requestBodies/CreateCluster'
+      responses:
+        '201':
+          description: Created
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/k8scluster/v1/clusters/{cluster_id}':
+    parameters:
+      - name: cluster_id
+        in: path
+        required: true
+        description: cluster_id
+        schema:
+          type: string
+    get:
+      tags:
+        - 'K8s Cluster'
+      summary: Reading a Specific Cluster
+      description: This API is used to obtain details about a specified cluster.
+      operationId: readk8sCluster
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "K8s Cluster"
+      summary: Deleting a Cluster
+      description: This API is used to delete a specified cluster.
+      operationId: deletek8sCluster
+      responses:
+        '202':
+          description: Accepted
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/k8scluster/v1/clusters/{cluster_id}/get_creds':
+    parameters:
+      - name: cluster_id
+        in: path
+        required: true
+        description: cluster_id
+        schema:
+          type: string
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Get Credentials of the cluster
+      description: This API is used to obtain a kube_config file of a specified cluster.
+      operationId: getCreds
+      responses:
+        '200':
+          description: OK
+        '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'
+  '/k8scluster/v1/clusters/{cluster_id}/scale':
+    parameters:
+      - name: cluster_id
+        in: path
+        required: true
+        description: cluster_id
+        schema:
+          type: string
+    post:
+      tags:
+        - "K8s Cluster"
+      summary: Scaling Node
+      description: This API is used to scale the node into a specified cluster
+      operationId: nodeScaling
+      requestBody:
+        $ref: '#/components/requestBodies/ScaleNode'
+      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'
+  '/k8scluster/v1/clusters/{cluster_id}/upgrade':
+    parameters:
+      - name: cluster_id
+        in: path
+        required: true
+        description: cluster_id
+        schema:
+          type: string
+    post:
+      tags:
+        - "K8s Cluster"
+      summary: Upgrading a Cluster
+      description: This API is used to Upgrade a Cluster
+      operationId: upgradeCluster
+      requestBody:
+        $ref: '#/components/requestBodies/UpgradeCluster'
+      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'
+  '/k8scluster/v1/app_profiles':
+    post:
+      tags:
+        - "K8s Cluster"
+      summary: Creating App-profiles
+      description: This API is used to create App-profiles
+      operationId: createAppProfile
+      requestBody:
+        $ref: '#/components/requestBodies/ProfileInfo'
+      responses:
+        '201':
+          description: Created
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Listing App-profiles
+      description: This API is used to list all App-profiles
+      operationId: listAppProfile
+      responses:
+        '200':
+          description: OK
+        '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'
+  '/k8scluster/v1/app_profiles/{app_profile_id}':
+    parameters:
+      - name: app_profile_id
+        in: path
+        required: true
+        description: app_profile_id
+        schema:
+          type: string
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Reading App-profiles
+      description: This API is used to reading specific App-profile
+      operationId: readAppProfile
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "K8s Cluster"
+      summary: Patching App-profiles
+      description: This API is used to patch specific App-profile
+      operationId: patchAppProfile
+      requestBody:
+        $ref: '#/components/requestBodies/ProfileInfo'
+      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'
+    delete:
+      tags:
+        - "K8s Cluster"
+      summary: Deleteing App-profiles
+      description: This API is used to delete specific App-profile
+      operationId: deleteAppProfile
+      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'
+  '/k8scluster/v1/clusters/{cluster_id}/app_profiles':
+    parameters:
+      - name: cluster_id
+        in: path
+        required: true
+        description: cluster_id
+        schema:
+          type: string
+    patch:
+      tags:
+        - "K8s Cluster"
+      summary: Adding or Removing App profile to cluster
+      description: This API is used to add or remove app profiles to cluster
+      operationId: addRemoveAppProfile
+      requestBody:
+        $ref: '#/components/requestBodies/AttachDetachProfile'
+      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'
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Getting App-profile in cluster
+      description: This API is used to get app-profiles in specified cluster
+      operationId: getAppProfile
+      responses:
+        '200':
+          description: OK
+        '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'
+  '/k8scluster/v1/infra_controller_profiles':
+    post:
+      tags:
+        - "K8s Cluster"
+      summary: Creating Infra controller profiles
+      description: This API is used to create Infra controllerprofiles
+      operationId: createInfraControllerProfile
+      requestBody:
+        $ref: '#/components/requestBodies/ProfileInfo'
+      responses:
+        '201':
+          description: Created
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Listing Infra controller profiles
+      description: This API is used to list all Infra controller profiles
+      operationId: listInfraControllerProfile
+      responses:
+        '200':
+          description: OK
+        '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'
+  '/k8scluster/v1/infra_controller_profiles/{infra_controller_profile_id}':
+    parameters:
+      - name: infra_controller_profile_id
+        in: path
+        required: true
+        description: infra_controller_profile_id
+        schema:
+          type: string
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Reading Infra controller profiles
+      description: This API is used to reading specific Infra controller profile
+      operationId: readInfraControllerProfile
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "K8s Cluster"
+      summary: Patching Infra controller profiles
+      description: This API is used to patch specific Infra controller profile
+      operationId: patchInfraControllerProfile
+      requestBody:
+        $ref: '#/components/requestBodies/ProfileInfo'
+      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'
+    delete:
+      tags:
+        - "K8s Cluster"
+      summary: Deleteing Infra controller profiles
+      description: This API is used to delete specific Infra controller profile
+      operationId: deleteInfraControllerProfile
+      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'
+  '/k8scluster/v1/clusters/{cluster_id}/infra_controller_profiles':
+    parameters:
+      - name: cluster_id
+        in: path
+        required: true
+        description: cluster_id
+        schema:
+          type: string
+    patch:
+      tags:
+        - "K8s Cluster"
+      summary: Adding or Removing Infra controller profile to cluster
+      description: This API is used to add or remove infra controller profile to cluster
+      operationId: addremoveInfraControllerProfile
+      requestBody:
+        $ref: '#/components/requestBodies/AttachDetachProfile'
+      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'
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Getting Infra controller profile in cluster
+      description: This API is used to get infra controller profiles in specified cluster
+      operationId: getInfraControllerProfile
+      responses:
+        '200':
+          description: OK
+        '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'
+  '/k8scluster/v1/infra_config_profiles':
+    post:
+      tags:
+        - "K8s Cluster"
+      summary: Creating Infra config profiles
+      description: This API is used to create Infra config profiles
+      operationId: createInfraConfigProfile
+      requestBody:
+        $ref: '#/components/requestBodies/ProfileInfo'
+      responses:
+        '201':
+          description: Created
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Listing Infra config profiles
+      description: This API is used to list all Infra config profiles
+      operationId: listInfraConfigProfile
+      responses:
+        '200':
+          description: OK
+        '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'
+  '/k8scluster/v1/infra_config_profiles/{infra_config_profile_id}':
+    parameters:
+      - name: infra_config_profile_id
+        in: path
+        required: true
+        description: infra_config_profile_id
+        schema:
+          type: string
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Reading Infra config profiles
+      description: This API is used to reading specific Infra config profile
+      operationId: readInfraConfigProfile
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "K8s Cluster"
+      summary: Patching Infra config profiles
+      description: This API is used to patch specific Infra config profile
+      operationId: patchInfraConfigProfile
+      requestBody:
+        $ref: '#/components/requestBodies/ProfileInfo'
+      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'
+    delete:
+      tags:
+        - "K8s Cluster"
+      summary: Deleteing Infra config profiles
+      description: This API is used to delete specific Infra config profile
+      operationId: deleteInfraConfigProfile
+      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'
+  '/k8scluster/v1/clusters/{cluster_id}/infra_config_profiles':
+    parameters:
+      - name: cluster_id
+        in: path
+        required: true
+        description: cluster_id
+        schema:
+          type: string
+    patch:
+      tags:
+        - "K8s Cluster"
+      summary: Adding or Removing Infra config profile to cluster
+      description: This API is used to add or remove infra config profile to cluster
+      operationId: addremoveInfraConfigProfile
+      requestBody:
+        $ref: '#/components/requestBodies/AttachDetachProfile'
+      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'
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Getting Infra config profile in cluster
+      description: This API is used to get infra config profiles in specified cluster
+      operationId: getInfraConfigProfile
+      responses:
+        '200':
+          description: OK
+        '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'
+  '/k8scluster/v1/resource_profiles':
+    post:
+      tags:
+        - "K8s Cluster"
+      summary: Creating resource profiles
+      description: This API is used to create resource profiles
+      operationId: createResourceProfile
+      requestBody:
+        $ref: '#/components/requestBodies/ProfileInfo'
+      responses:
+        '201':
+          description: Created
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Listing resource profiles
+      description: This API is used to list all resource profiles
+      operationId: listResourceProfile
+      responses:
+        '200':
+          description: OK
+        '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'
+  '/k8scluster/v1/resource_profiles/{resource_profile_id}':
+    parameters:
+      - name: resource_profile_id
+        in: path
+        required: true
+        description: resource_profile_id
+        schema:
+          type: string
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Reading resource profiles
+      description: This API is used to reading specific resource profile
+      operationId: readResourceProfile
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "K8s Cluster"
+      summary: Patching resource profiles
+      description: This API is used to patch specific resource profile
+      operationId: patchResourceProfile
+      requestBody:
+        $ref: '#/components/requestBodies/ProfileInfo'
+      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'
+    delete:
+      tags:
+        - "K8s Cluster"
+      summary: Deleteing resource profiles
+      description: This API is used to delete specific resource profile
+      operationId: deleteResourceProfile
+      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'
+  '/k8scluster/v1/clusters/{cluster_id}/resource_profiles':
+    parameters:
+      - name: cluster_id
+        in: path
+        required: true
+        description: cluster_id
+        schema:
+          type: string
+    patch:
+      tags:
+        - "K8s Cluster"
+      summary: Adding or Removing Resource profile to cluster
+      description: This API is used to add or remove resource profiles to cluster
+      operationId: addremoveResourceProfile
+      requestBody:
+        $ref: '#/components/requestBodies/AttachDetachProfile'
+      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'
+    get:
+      tags:
+        - "K8s Cluster"
+      summary: Getting Resource profile in cluster
+      description: This API is used to get resource profiles in specified cluster
+      operationId: getResourceProfile
+      responses:
+        '200':
+          description: OK
+        '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 k8s Cluster
+
+# BEGIN OKA packages
+  '/oka/v1/oka_packages':
+    get:
+      tags:
+        - "OKA packages"
+      summary: List OKA package
+      description: This API is used to List OKA packages
+      operationId: getOKAPackage
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "OKA packages"
+      summary: Add OKA package
+      description: This API is used to add OKA packages
+      operationId: addOKAPackage
+      requestBody:
+        content:
+          application/zip:
+            schema:
+              $ref: '#/components/schemas/OkaPackage'
+      responses:
+        '201':
+          description: Created
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/oka/v1/oka_packages/{oka_pkg_id}':
+    parameters:
+      - name: oka_pkg_id
+        in: path
+        required: true
+        description: oka_pkg_id
+        schema:
+          type: string
+    get:
+      tags:
+        - "OKA packages"
+      summary: Read OKA package
+      description: This API is used to Read OKA packages
+      operationId: readOKAPackage
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "OKA packages"
+      summary: Update OKA package
+      description: This API is used to Update OKA packages
+      operationId: updateOKAPackage
+      requestBody:
+        content:
+          application/zip:
+            schema:
+              $ref: '#/components/schemas/OkaPackage'
+      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'
+    delete:
+      tags:
+        - "OKA packages"
+      summary: Delete OKA package
+      description: This API is used to Delete OKA packages
+      operationId: deleteOKAPackage
+      responses:
+        '202':
+          description: Accepted
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+# END OKA packages
+
+# BEGIN KSU
+  '/ksu/v1/ksus':
+    get:
+      tags:
+        - "KSU"
+      summary: Get KSU
+      description: This API is used to Get KSU
+      operationId: getKSU
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "KSU"
+      summary: Add KSU
+      description: This API is used to Add KSU
+      operationId: addKSU
+      requestBody:
+        $ref: '#/components/requestBodies/MultipleKsu'
+      responses:
+        '201':
+          description: Created
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/ksu/v1/ksus/{ksu_id}':
+    parameters:
+      - name: ksu_id
+        in: path
+        required: true
+        description: ksu_id
+        schema:
+          type: string
+    get:
+      tags:
+        - "KSU"
+      summary: Read KSU
+      description: This API is used to Read KSU
+      operationId: readKSU
+      responses:
+        '200':
+          description: OK
+        '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:
+        - "KSU"
+      summary: Update KSU
+      description: This API is used to Update KSU
+      operationId: updateKSU
+      requestBody:
+        $ref: '#/components/requestBodies/Ksu'
+      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'
+    delete:
+      tags:
+        - "KSU"
+      summary: Delete KSU
+      description: This API is used to Delete KSU
+      operationId: deleteKSU
+      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'
+  '/ksu/v1/ksus/update':
+    post:
+      tags:
+        - "KSU"
+      summary: Update multiple KSU
+      description: This API is used to Update multiple KSU
+      operationId: updateMultipleKSU
+      requestBody:
+        $ref: '#/components/requestBodies/MultipleKsu'
+      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'
+  '/ksu/v1/ksus/delete':
+    post:
+      tags:
+        - "KSU"
+      summary: Delete multiple KSU
+      description: This API is used to Delete multiple KSU
+      operationId: deleteMultipleKSU
+      requestBody:
+        $ref: '#/components/requestBodies/DeleteMultipleKsu'
+      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'
+  '/ksu/v1/ksus/{ksu_id}/clone':
+    parameters:
+      - name: ksu_id
+        in: path
+        required: true
+        description: ksu_id
+        schema:
+          type: string
+    post:
+      tags:
+        - "KSU"
+      summary: Clone KSU
+      description: This API is used to Clone KSU
+      operationId: cloneKSU
+      requestBody:
+        $ref: '#/components/requestBodies/CloneKsu'
+      responses:
+        '202':
+          description: Accepted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+            application/yaml:
+              schema:
+                $ref: '#/components/schemas/ObjectId'
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+  '/ksu/v1/ksus/{ksu_id}/move':
+    parameters:
+      - name: ksu_id
+        in: path
+        required: true
+        description: ksu_id
+        schema:
+          type: string
+    post:
+      tags:
+        - "KSU"
+      summary: Move KSU
+      description: This API is used to Move KSU
+      operationId: moveKSU
+      requestBody:
+        $ref: '#/components/requestBodies/MoveKsu'
+      responses:
+        '202':
+          description: Accepted
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
+# END KSU
+
+# BEGIN Admin
+  '/admin/v1/tokens':
+    get:
+      tags:
+        - "Authentication"
+        - "Admin"
+      summary: Query information about multiple Tokens
+      description: Query information about multiple Tokens
+      operationId: getTokens
+      responses:
+        '200':
+          description: OK
+          content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ArrayOfTokenInfo'
             application/json:
               schema:
                 $ref: '#/components/schemas/ArrayOfTokenInfo'
@@ -6564,6 +8707,14 @@ components:
         id:
           type: string
           format: uuid
         id:
           type: string
           format: uuid
+    ObjectIdList:
+      type: object
+      properties:
+        ns_ids:
+          type: array
+          items:
+            type: string
+            format: uuid
     KeyValuePairs:
       # A free list of key:value pairs
       type: object
     KeyValuePairs:
       # A free list of key:value pairs
       type: object
@@ -6632,41 +8783,108 @@ components:
           type: string
         name:
           description: |
           type: string
         name:
           description: |
-            Name of the onboarded NSD. This information is
-            copied from the NSD content and shall be present
-            after the NSD content is on-boarded.
+            Name of the onboarded NSD. This information is
+            copied from the NSD content and shall be present
+            after the NSD content is on-boarded.
+          type: string
+        description:
+          description: |
+            Description of the onboarded NSD.
+            This information is copied from the NSD content.
+          type: string
+      required:
+        - _id
+        - id
+    ArrayOfNsdInfo:
+      type: array
+      items:
+        $ref: '#/components/schemas/NsdInfo'
+    ProblemDetails:
+      type: object
+      properties:
+        type:
+          type: string
+          format: uri
+        title:
+          type: string
+        status:
+          type: integer
+        detail:
+          type: string
+        instance:
+          type: string
+          format: uri
+      additionalProperties: true
+      required:
+        - status
+        - detail
+    CreateNsConfigTemplateInfoRequest:
+      type: object
+      properties:
+        name:
+          description: Ns Config Template name
+          type: string
+        nsdId:
+          description: |
+            ID of NS descriptor to which
+            template is associated
+          type: string
+        config:
+          description: Instantiation parameters
+          type: object
+          additionalProperties: false
+      required:
+        - name
+        - nsdId
+        - config
+      additionalProperties: false
+    NsConfigTemplateInfo:
+      description: |
+        Ns Config template information includes NSD ID, name
+        and instantiation parameters of vld, vnf, additionParamForVnf,
+        additionalParamsForNs.
+      type: object
+      properties:
+        _id:
+          description: |
+           Identifier of the inboarded Ns config template resource.
+          type: string
+          format: uuid
+        name:
+          description: |
+            Name of the onboarded Ns config template. This information
+            is given by the user and it is unique.
           type: string
           type: string
-        description:
+        nsdId:
           description: |
           description: |
-            Description of the onboarded NSD.
-            This information is copied from the NSD content.
+           Identifier of the NS descriptor, which is associated
+           with Ns config template
           type: string
           type: string
-      required:
-        - _id
-        - id
-    ArrayOfNsdInfo:
+        config:
+          description: |
+            It includes instantiation parameters such as
+            vld, vnf, additionalParamforVnf.
+          type: object
+    ArrayOfNsConfigTemplateInfo:
       type: array
       items:
       type: array
       items:
-        $ref: '#/components/schemas/NsdInfo'
-    ProblemDetails:
+        $ref: '#/components/schemas/NsConfigTemplateInfo'
+    NsConfigTemplateInfoModifications:
+      description: |
+        Ns Config Template information
+        It includes name of the template and instantiation parameters.
+        Ns descriptor id cannot be edited.
       type: object
       properties:
       type: object
       properties:
-        type:
-          type: string
-          format: uri
-        title:
-          type: string
-        status:
-          type: integer
-        detail:
-          type: string
-        instance:
+        name:
+          description: |
+            Name of the template
           type: string
           type: string
-          format: uri
-      additionalProperties: true
-      required:
-        - status
-        - detail
+        config:
+          description: |
+            Instantiation parameters such as vld, vnf, additionalParamsForVnf
+            can be edit.
+          type: object
     VnfDescriptor:
       type: string
       format: yaml|json
     VnfDescriptor:
       type: string
       format: yaml|json
@@ -6768,6 +8986,12 @@ components:
             Identifier of the VIM Account where the NS instance shall be created.
           type: string
           format: uuid
             Identifier of the VIM Account where the NS instance shall be created.
           type: string
           format: uuid
+        nsConfigTemplateId:
+          description: |
+            Identifier of the Ns config template which is selected
+            while instantiation
+          type: string
+          format: uuid
         lcmOperationType:
           type: string
         nsInstanceId:
         lcmOperationType:
           type: string
         nsInstanceId:
@@ -7279,6 +9503,7 @@ components:
             - REMOVE_VNF
             - MODIFY_VNF_INFORMATION
             - OPERATE_VNF
             - REMOVE_VNF
             - MODIFY_VNF_INFORMATION
             - OPERATE_VNF
+            - VERTICAL_SCALE
         changeVnfPackageData:
           type: object
           properties:
         changeVnfPackageData:
           type: object
           properties:
@@ -7324,44 +9549,36 @@ components:
             - vnfInstanceId
             - changeStateTo
           additionalProperties: false
             - 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:
+        verticalScaleVnf:
           type: object
           properties:
             vnfInstanceId:
               type: string
           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
+            vnfdId:
+              type: string
+            vduId:
+              type: string
+            countIndex:
+              type: number
           required:
             - vnfInstanceId
           required:
             - vnfInstanceId
-            - additionalParams
-          additionalProperties: false
+            - vnfdId
+            - vduId
       required:
       required:
-        - verticalScale
+        - updateType
+      additionalProperties: false
+    MultiNsTerminateRequest:
+      type: object
+      properties:
+        ns_ids:
+          description: List of Ns instance Ids to be deleted
+          type: array
+          items:
+            type: string
+            format: uuid
+        autoremove:
+          description: remove network service if termination end without error
+          type: boolean
       additionalProperties: false
     # CreateNSinstanceContentRequest:
       # Substituted by InstantiateNsRequest
       additionalProperties: false
     # CreateNSinstanceContentRequest:
       # Substituted by InstantiateNsRequest
@@ -8440,6 +10657,8 @@ components:
           additionalProperties: true
         resources:
           type: object
           additionalProperties: true
         resources:
           type: object
+        creds:
+          type: string
       required:
         - name
         - vim_url
       required:
         - name
         - vim_url
@@ -9034,6 +11253,16 @@ components:
         key-file:
           type: string
           description: identify HTTPS client using this SSL key file
         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:
     ArrayOfK8sRepoInfo:
       type: array
       items:
@@ -9229,6 +11458,174 @@ components:
           enum:
             - GRACEFUL
             - FORCEFUL
           enum:
             - GRACEFUL
             - FORCEFUL
+    CreateClusterInfo:
+      type: object
+      properties:
+        name:
+          type: string
+        vim_account:
+          type: string
+        location:
+          type: string
+        k8s_version:
+          type: string
+        node_size:
+          type: string
+        node_count:
+          type: string
+        description:
+          type: string
+        region_name:
+          type: string
+        resource_group:
+          type: string
+        infra_controller_profiles:
+          type: array
+          items:
+            type: string
+        infra_config_profiles:
+          type: array
+          items:
+            type: string
+        resource_profiles:
+          type: array
+          items:
+            type: string
+        app_profiles:
+          type: array
+          items:
+            type: string
+    ScaleNodeInfo:
+      type: object
+      properties:
+        node_count:
+          type: integer
+    ProfileInfo:
+      type: object
+      properties:
+        name:
+          type: string
+        description:
+          type: string
+    UpgradeClusterInfo:
+      type: object
+      properties:
+        k8s_version:
+          type: string
+    AttachDetachProfile:
+      type: object
+      properties:
+        add_profile:
+            type: array
+            items:
+              type: object
+              properties:
+                _id:
+                  type: string
+        remove_profile:
+            type: array
+            items:
+              type: object
+              properties:
+                _id:
+                  type: string
+    OkaPackage:
+      type: object
+      properties:
+        name:
+          type: string
+        description:
+          type: string
+        package:
+          type: string
+          format: binary
+    MultipleKsu:
+      type: object
+      properties:
+        ksus:
+          type: array
+          items:
+            type: object
+            properties:
+              name:
+                type: string
+              profile:
+                type: object
+                properties:
+                  _id:
+                    type: string
+                  profile_type:
+                    type: string
+              oka:
+                type: array
+                items:
+                  type: object
+                  properties:
+                    _id:
+                      type: string
+                    sw_catalog_path:
+                      type: string
+                    transformation:
+                      type: object
+              description:
+                type: string
+    Ksu:
+      type: object
+      properties:
+        name:
+          type: string
+        description:
+          type: string
+        profile:
+          type: object
+          properties:
+            id:
+              type: string
+            profile_type:
+                type: string
+        oka:
+          type: array
+          items:
+            type: object
+            properties:
+              _id:
+                type: string
+              sw_catalog_path:
+                type: string
+              transformation:
+                type: object
+    DeleteMultipleKsu:
+      type: object
+      properties:
+        ksus:
+          type: array
+          items:
+            type: object
+            properties:
+              _id:
+                type: string
+    CloneKsu:
+      type: object
+      properties:
+        name:
+          type: string
+        profile:
+          type: object
+          properties:
+            _id:
+              type: string
+            profile_type:
+              type: string
+    MoveKsu:
+      type: object
+      properties:
+        profile:
+          type: object
+          properties:
+            _id:
+              type: string
+            profile_type:
+              type: string
   # END SCHEMAS
 
   requestBodies:
   # END SCHEMAS
 
   requestBodies:
@@ -9266,6 +11663,22 @@ components:
         application/zip:
           schema:
             $ref: '#/components/schemas/NsPackage'
         application/zip:
           schema:
             $ref: '#/components/schemas/NsPackage'
+    CreateNsConfigTemplateInfoRequest:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/CreateNsdInfoRequest'
+        application/yaml:
+          schema:
+            $ref: '#/components/schemas/CreateNsdInfoRequest'
+    NsConfigTemplateInfoModifications:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/NsdInfoModifications'
+        application/yaml:
+          schema:
+            $ref: '#/components/schemas/NsdInfoModifications'
     CreateVnfPkgInfoRequest:
       content:
         application/json:
     CreateVnfPkgInfoRequest:
       content:
         application/json:
@@ -9342,14 +11755,14 @@ components:
         application/yaml:
           schema:
             $ref: '#/components/schemas/UpdateNsRequest'
         application/yaml:
           schema:
             $ref: '#/components/schemas/UpdateNsRequest'
-    VerticalscaleNsRequest:
+    MultiNsTerminateRequest:
       content:
         application/json:
           schema:
       content:
         application/json:
           schema:
-            $ref: '#/components/schemas/VerticalscaleNsRequest'
+            $ref: '#/components/schemas/MultiNsTerminateRequest'
         application/yaml:
           schema:
         application/yaml:
           schema:
-            $ref: '#/components/schemas/VerticalscaleNsRequest'
+            $ref: '#/components/schemas/MultiNsTerminateRequest'
     # CreateNSinstanceContentRequest:
       # Substituted by InstantiateNsRequest
     CreateNstInfoRequest:
     # CreateNSinstanceContentRequest:
       # Substituted by InstantiateNsRequest
     CreateNstInfoRequest:
@@ -9582,6 +11995,86 @@ components:
         application/yaml:
           schema:
             $ref: '#/components/schemas/CancelNSLCMOpOccRequest'
         application/yaml:
           schema:
             $ref: '#/components/schemas/CancelNSLCMOpOccRequest'
+    CreateCluster:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/CreateClusterInfo'
+        application/yaml:
+          schema:
+            $ref: '#/components/schemas/CreateClusterInfo'
+    ScaleNode:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ScaleNodeInfo'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/ScaleNodeInfo'
+    UpgradeCluster:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UpgradeClusterInfo'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/UpgradeClusterInfo'
+    ProfileInfo:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ProfileInfo'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/ProfileInfo'
+    AttachDetachProfile:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/AttachDetachProfile'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/AttachDetachProfile'
+    MultipleKsu:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/MultipleKsu'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/MultipleKsu'
+    Ksu:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/Ksu'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/Ksu'
+    DeleteMultipleKsu:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/DeleteMultipleKsu'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/DeleteMultipleKsu'
+    CloneKsu:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/CloneKsu'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/CloneKsu'
+    MoveKsu:
+      content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/MoveKsu'
+          application/yaml:
+            schema:
+              $ref: '#/components/schemas/MoveKsu'
   # END REQUEST BODIES
 
   securitySchemes:
   # END REQUEST BODIES
 
   securitySchemes: