Commit be504451 authored by Samir Medjiah's avatar Samir Medjiah
Browse files

SOL003: v308 updates to VNF LCM -> Added: (1) Patch method in...

SOL003: v308 updates to VNF LCM -> Added: (1) Patch method in IndividualVNFSnapshot endpoint, (2) new endpoint "VNF Snapshot State", (3) minor fixes
parent 1f2cecef
Loading
Loading
Loading
Loading
+428 −129
Original line number Original line Diff line number Diff line
@@ -1669,6 +1669,52 @@ paths:
        504:
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"


    patch:
      #SOL003 location: 5.4.24.3.4
      description: |
        This method modifies an "Individual VNF snapshot" resource.

        Changes are applied to the VNF snapshot information managed by the VNFM and are reflected in the 
        representation of this resource. The VNFM shall reject the modification request if the "vnfSnapshot" 
        attribute in the "VnfSnapshotInfo" structure representing the "Individual VNF snapshot" resource 
        is not empty, or the resource is associated to an ongoing VNF snapshot operation (e.g., a VNF 
        snapshot creation process has started).
        
        This method shall follow the provisions specified in the tables 5.4.24.3.4-1 and 5.4.24.3.4-2 
        for URI query parameters, request and response data structures, and response codes.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/VnfSnapshotInfoModificationRequest'
      responses:
        200:
          $ref: '#/components/responses/IndividualVnfSnapshot.Patch.200'
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
        409:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
        412:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412"
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"

    delete:
    delete:
      #SOL003 location: 5.4.24.3.5
      #SOL003 location: 5.4.24.3.5
      description: |
      description: |
@@ -1712,6 +1758,50 @@ paths:
        503:
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"


  /vnf_snapshots/{vnfSnapshotInfoId}/vnf_state_snapshot:
  #SOL003 location: 5.4.25.2
    parameters:
      - $ref: '#/components/parameters/VnfSnapshotInfoId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version

    get:
      #SOL003 location: 5.4.25.3.2
      description: |
        The GET method fetches the content of the VNF state snapshot. 
        This method shall follow the provisions specified in the tables 5.4.25.3.2-1 and 5.4.25.3.2-2 
        for URI query parameters, request and response data structures, and response codes.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Range
      responses:
        200:
          $ref: '#/components/responses/IndividualVnfSnapshotState.Get.200'
        206:
          $ref: '#/components/responses/IndividualVnfSnapshotState.Get.206'
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
        409:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/409"
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"

components:
components:
  parameters:
  parameters:
    VnfInstanceId:
    VnfInstanceId:
@@ -1753,8 +1843,8 @@ components:
      schema:
      schema:
        type: string
        type: string


    VnfSnapshotId:
    VnfSnapshotInfoId:
      name: vnfSnapshotId
      name: VnfSnapshotInfoId
      in: path
      in: path
      description: |
      description: |
        Identifier of the "Individual VNF snapshot" resource. This identifier can be retrieved 
        Identifier of the "Individual VNF snapshot" resource. This identifier can be retrieved 
@@ -1779,7 +1869,6 @@ components:
    VnfInfoModificationRequest:
    VnfInfoModificationRequest:
      description: |
      description: |
        Parameters for the VNF modification, as defined in clause 5.5.2.12.
        Parameters for the VNF modification, as defined in clause 5.5.2.12.
            The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396.
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -1896,6 +1985,15 @@ components:
            $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotInfoRequest"
            $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotInfoRequest"
      required: true
      required: true


    VnfSnapshotInfoModificationRequest:
      description: |
        Parameters for the VNF snapshot information modification, as defined in clause 5.5.2.24.
      content:
        application/json:
          schema:
            $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfoModificationRequest"
      required: true

  responses:
  responses:
    VNFInstances.Post.201:
    VNFInstances.Post.201:
      description: |
      description: |
@@ -1930,6 +2028,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -1964,6 +2069,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        Link:
        Link:
          description: |
          description: |
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
@@ -1999,6 +2111,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -2036,6 +2155,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -2390,6 +2516,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        Link:
        Link:
          description: |
          description: |
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
@@ -2424,6 +2557,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -2496,6 +2636,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -2554,6 +2701,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -2587,6 +2741,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        Link:
        Link:
          description: |
          description: |
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
@@ -2620,6 +2781,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -2746,6 +2914,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -2776,6 +2951,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        Link:
        Link:
          description: |
          description: |
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
@@ -2812,6 +2994,13 @@ components:
          explode: false
          explode: false
          schema:
          schema:
            type: string
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
      content:
        application/json:
        application/json:
          schema:
          schema:
@@ -2819,6 +3008,38 @@ components:
            items:
            items:
              $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo"
              $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo"


    IndividualVnfSnapshot.Patch.200:
      description: |
        200 OK

        Shall be returned when the modification of VNF snapshot information has been accepted and completed.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfoModifications"

    IndividualVnfSnapshot.Delete.204:
    IndividualVnfSnapshot.Delete.204:
      description: |
      description: |
        204 NO CONTENT
        204 NO CONTENT
@@ -2842,3 +3063,81 @@ components:
          schema:
          schema:
            type: string
            type: string


    IndividualVnfSnapshotState.Get.200:
      description: |
        200 OK

        Shall be returned when the whole content of the VNF state snapshot file has been read successfully.

        The payload body shall contain a copy of the VNF state snapshot file and the "Content-Type" HTTP
        header shall be set according to the content type of the VNF state snapshot file. If the VNF state 
        snapshot content is encrypted, the header shall be set to the value "application/cms" (IETF RFC 7193). 
        
        If the content type cannot be determined, the header shall be set to the value "application/octet-stream".
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/*:
          schema:
            type: string
            format: binary


    IndividualVnfSnapshotState.Get.206:
      description: |
        206 PARTIAL CONTENT

        If the VNFM supports range requests, this response shall be returned when a single consecutive byte
        range from the content of the VNF state snapshot file has been read successfully according to the request.

        The response body shall contain the requested part of the VNF state snapshot file. The "Content-Type" HTTP 
        header shall be set according to the content type of the VNF state snapshot file. If the content type cannot 
        be determined, the header shall be set to the value "application/octet-stream".

        The "Content-Range" HTTP header shall be provided according to IETF RFC 7233.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Range:
          required : true
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/*:
          schema:
            type: string
            format: binary