Skip to content
VNFSnapshotPackageManagement.yaml 56.5 KiB
Newer Older
openapi: 3.0.2

info:
  title: SOL005 - VNF Snapshot Package Management interface
  description: |
    SOL005 - VNF Snapshot Package Management interface
    
    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG.
    In case of discrepancies the published ETSI Group Specification takes precedence.
    Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
  contact:
    name: NFV-SOL WG
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1

externalDocs:
  description: ETSI GS NFV-SOL 005 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_nfv-sol005v030301p.pdf

servers:
  - url: http://127.0.0.1/vnfsnapshotpkgm/v1
  - url: https://127.0.0.1/vnfsnapshotpkgm/v1

paths:
  ###############################################################################
  # API Versions                                                                #
  ###############################################################################
  /api_versions:
    $ref: '../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions' 

  /vnf_snapshot_packages:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
    post:
      description: |
        The POST method creates a new "Individual VNF snapshot package" resource.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/CreateVnfSnapshotPkgInfoRequest'
      responses:
        201:
          $ref: '#/components/responses/VnfSnapshotPackages.Post.200'
        400:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        401:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        403:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        404:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        405:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        406:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        409:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/409
        416:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
        500:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        503:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        504:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    get:
      description: |
        The GET method queries the information of the VNF packages matching the filter.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_default
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
      responses:
        200:
          $ref: '#/components/responses/VnfSnapshotPackages.Get.200'
        400:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/422
          $ref: ../responses/SOL005_resp.yaml#/components/responses/429
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

  /vnf_snapshot_packages/{vnfSnapshotPkgId}:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: '#/components/parameters/VnfSnapshotPkgId'
    
    get:
      description: |
        The GET method reads the information of an individual VNF snapshot package.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      responses:
        200:
          $ref: '#/components/responses/IndividualVNFSnapshotPackage.Get.200'
        400:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/422
          $ref: ../responses/SOL005_resp.yaml#/components/responses/429
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    patch:
      description: |
        The PATCH method updates the information of a VNF snapshot package.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      requestBody:
        $ref: '#/components/requestBodies/VnfSnapshotPkgInfoModifications'
      responses:
        200:
          $ref: '#/components/responses/IndividualVNFSnapshotPackage.Patch.200'
        400:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        401:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        403:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        404:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        405:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        406:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        409:
          # description: |
          #   409 CONFLICT 
          
          #   Shall be returned upon the following error: The operation cannot be executed
          #   currently, due to a conflict with the state of the resource.

          #   Typically, this is due to the fact that the state of the VNF snapshot package
          #   resource is in a state other than CREATED, ERROR_EXTRACTING or AVAILABLE.

          #   The response body shall contain a ProblemDetails structure, in which the "detail" 
          #   attribute shall convey more information about the error.
          $ref: ../responses/SOL005_resp.yaml#/components/responses/409
        416:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
        500:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
        503:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
        504:
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504

    delete:
      description: |
        The DELETE method deletes an "Individual VNF snapshot package" resource.
      responses:
        204:
          $ref: '#/components/responses/IndividualVNFSnapshotPackage.Delete.204'
        400:
Loading full blame...