Feature 10912, 10916 and 10908: NS Update 68/11768/6
authorelumalai <deepika.e@tataelxsi.co.in>
Mon, 21 Mar 2022 14:14:39 +0000 (19:44 +0530)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Wed, 18 May 2022 13:49:20 +0000 (15:49 +0200)
Added NS Update API specifications in the osm-openapi.yaml file

Change-Id: I4c4848453331964d89a9a7fc802bbf59f2684b0f
Signed-off-by: elumalai <deepika.e@tataelxsi.co.in>
osm-openapi.yaml

index 5b5eef9..02e92f7 100644 (file)
@@ -1791,6 +1791,62 @@ paths:
           $ref: '#/components/responses/UnexpectedError'
         default:
           $ref: '#/components/responses/UnexpectedError'
+  '/nslcm/v1/ns_instances/{nsInstanceId}/update':
+    parameters:
+      - name: nsInstanceId
+        in: path
+        required: true
+        description: NS Instance ID
+        schema:
+          type: string
+    post:
+      tags:
+        - "NS instances"
+      summary: Update a NS instance
+      description: |
+        Update a NS instance. The precondition is that the NS instance must have
+        been created and must be in INSTANTIATED state. As a result of the
+        success of this operation, the NFVO creates a "NS Lifecycle Operation
+        Occurrence" resource for the request, and the NS instance state remains
+        INSTANTIATED.
+      operationId: updateNSinstance
+      requestBody:
+        $ref: '#/components/requestBodies/UpdateNsRequest'
+      responses:
+        '202':
+          description: Accepted
+          headers:
+            Location:
+              description: |
+                It must point to the new "NS Lifecycle Operation Occurrence"
+                resource, i.e. an URI like ".../ns_lcm_op_occs/{nsLcmOpOccId}"
+              schema:
+                type: string
+                format: uri
+        '400':
+          $ref: '#/components/responses/BadRequest'
+        '401':
+          $ref: '#/components/responses/Unauthorized'
+        '403':
+          $ref: '#/components/responses/Forbidden'
+        '404':
+          $ref: '#/components/responses/NotFound'
+        '405':
+          $ref: '#/components/responses/MethodNotAllowed'
+        '406':
+          $ref: '#/components/responses/NotAcceptable'
+        '409':
+          $ref: '#/components/responses/Conflict'
+        '422':
+          $ref: '#/components/responses/UnprocessableEntity'
+        '500':
+          $ref: '#/components/responses/InternalServerError'
+        '503':
+          $ref: '#/components/responses/ServiceUnavailable'
+        '5XX':
+          $ref: '#/components/responses/UnexpectedError'
+        default:
+          $ref: '#/components/responses/UnexpectedError'
   '/nslcm/v1/ns_instances_content':
     get:
       tags:
@@ -7036,6 +7092,43 @@ components:
         - primitive
         - primitive_params
       additionalProperties: false
+    UpdateNsRequest:
+      description: >
+        This type represents request parameters for the "Update NS" operation. This operation supports the update of an NS
+        instance by updating one or more of the VNFs that are part of this NS.
+      type: object
+      properties:
+        updateType:
+          type: string
+          enum:
+            - CHANGE_VNFPKG
+            - REMOVE_VNF
+            - MODIFY_VNF_INFORMATION
+        changeVnfPackageData:
+          type: object
+          properties:
+            vnfInstanceId:
+              type: string
+            vnfdId:
+              type: string
+          required:
+            - vnfInstanceId
+            - vnfdId
+        removeVnfInstanceId:
+          type: string
+        modifyVnfInfoData:
+          type: object
+          properties:
+            vnfInstanceId:
+              type: string
+            vnfdId:
+              type: string
+          required:
+            - vnfInstanceId
+            - vnfdId
+      required:
+        - updateType
+      additionalProperties: false
     # CreateNSinstanceContentRequest:
       # Substituted by InstantiateNsRequest
     CreateNSinstanceContentResponse:
@@ -8956,6 +9049,14 @@ components:
         application/yaml:
           schema:
             $ref: '#/components/schemas/TerminateNsRequest'
+    UpdateNsRequest:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/UpdateNsRequest'
+        application/yaml:
+          schema:
+            $ref: '#/components/schemas/UpdateNsRequest'
     # CreateNSinstanceContentRequest:
       # Substituted by InstantiateNsRequest
     CreateNstInfoRequest: