VNFLifecycleManagement.yaml 171 KB
Newer Older
openapi: 3.0.2
  title: SOL003 - VNF Lifecycle Management interface
  description: |
    SOL003 - VNF Lifecycle Management interface
    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

    Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
  contact:
    name: NFV-SOL WG
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
ishaqm's avatar
ishaqm committed
  version: "2.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
ishaqm's avatar
ishaqm committed
  description: ETSI GS NFV-SOL 003 V3.7.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.07.01_60/gs_NFV-SOL003v030701p.pdf
Giacomo Bernini's avatar
Giacomo Bernini committed
  - url: http://127.0.0.1/vnflcm/v2
  - url: https://127.0.0.1/vnflcm/v2
  ###############################################################################
  # API Versions                                                                #
  ###############################################################################
  /api_versions:
    $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
  ###############################################################################
  # VNF instances                                                               #
  ###############################################################################
  /vnf_instances:
    #SOL003 location: 5.4.2
    parameters:
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      description: |
        The POST method creates a new VNF instance resource based on a VNF package that is onboarded
        and in "ENABLED" state. See clause 5.4.2.3.1.
      requestBody:
        $ref: '#/components/requestBodies/CreateVnfRequest'
          $ref: '#/components/responses/VNFInstances.Post.201'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/VNFInstances.Post.422'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
      description: |
        The GET method queries information about multiple VNF instances. See clause 5.4.2.3.2.
        - $ref: '#/components/parameters/filter_vnf_instances'
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/all_fields_vnfm
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/fields_vnfm
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/exclude_fields_vnfm
        - $ref: '#/components/parameters/exclude_default_vnf_instances'
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
          $ref: '#/components/responses/VNFInstances.Get.200'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Individual VNF instance                                                     #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}:
    #SOL003 location: 5.4.3.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      description: |
        The GET method retrieves information about a VNF instance by reading an "Individual VNF instance" resource.
        See clause 5.4.3.3.2.
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/IndividualVnfInstance.Get.200'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
    patch:
      #SOL003 location: 5.4.3.3.4
      description: |
        This method modifies an "Individual VNF instance" resource. See clause 5.4.3.3.4.
      parameters: 
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/If-Unmodified-Since
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/If-Match
      requestBody:
        $ref: '#/components/requestBodies/VnfInfoModificationRequest'
          $ref: '#/components/responses/IndividualVnfInstance.Patch.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/IndividualVnfInstance.Patch.409'
          $ref: '#/components/responses/IndividualVnfInstance.Patch.412'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
    delete:
      #SOL003 location: 5.4.3.3.5
      description: |
        This method deletes an "Individual VNF instance" resource. See clause 5.4.3.3.5.
          $ref: '#/components/responses/IndividualVnfInstance.Delete.204'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/IndividualVnfInstance.Delete.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/412"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
  ###############################################################################
  # Instantiate VNF task                                                        #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/instantiate:
    #SOL003 location: 5.4.4.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      #SOL003 location: 5.4.4.3.1
      description: |
        The POST method instantiates a VNF instance. See clause 5.4.4.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/InstantiateVnfRequest'
          $ref: '#/components/responses/InstantiateVnfInstance.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/InstantiateVnfInstance.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/416"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Scale VNF task                                                              #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/scale:
    #SOL003 location: 5.4.5.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      #SOL003 location: 5.4.5.3.1
      description: |
        The POST method requests to scale a VNF instance resource incrementally. See clause 5.4.5.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/ScaleVnfRequest'
          $ref: '#/components/responses/ScaleVnfInstance.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/ScaleVnfInstance.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/ScaleVnfInstance.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Scale VNF to Level task                                                     #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/scale_to_level:
    #SOL003 location: 5.4.6.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      #SOL003 location: 5.4.6.3.1
      description: |
        The POST method requests to scale a VNF instance resource to a target level. See clause 5.4.6.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/ScaleVnfToLevelRequest'
          $ref: '#/components/responses/ScaleToLevelVnfInstance.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/ScaleToLevelVnfInstance.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/ScaleToLevelVnfInstance.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Change VNF Flavour task                                                     #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/change_flavour:
    #SOL003 location: 5.4.7.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      description: |
        The POST method changes the deployment flavour of a VNF instance. See clause 5.4.7.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/ChangeVnfFlavourRequest'
          $ref: '#/components/responses/ChangeFlavourVnfInstance.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/ChangeFlavourVnfInstance.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/ChangeFlavourVnfInstance.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Terminate VNF task                                                         #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/terminate:
    #SOL003 location: 5.4.8.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      description: |
        The POST method triggers the VNFM to terminate a VNF instance and to request to the VIM the
        release of its used virtualised resources. See clause 5.4.8.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/TerminateVnfRequest'
          $ref: '#/components/responses/TerminateVnfInstance.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/TerminateVnfInstance.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Heal VNF task                                                               #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/heal:
    #SOL003 location: 5.4.9.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      description: |
        The POST method requests to heal a VNF instance. See clause 5.4.9.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/HealVnfRequest'
          $ref: '#/components/responses/HealVnfInstance.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/HealVnfInstance.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/HealVnfInstance.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Operate VNF task                                                            #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/operate:
    #SOL003 location: 5.4.10.2
      - $ref: '#/components/parameters/VnfInstanceId'
      description: |
        The POST method changes the operational state of a VNF instance. See clause 5.4.10.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/OperateVnfRequest'
          $ref: '#/components/responses/OperateVnfInstance.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/OperateVnfInstance.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/OperateVnfInstance.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Change external VNF connectivity task                                       #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/change_ext_conn:
    #SOL003 location: 5.4.11.2
      - $ref: '#/components/parameters/VnfInstanceId'
      description: |
        The POST method changes the external connectivity of a VNF instance. See clause 5.4.11.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/ChangeExtVnfConnectivityRequest'
          $ref: '#/components/responses/ChangeExtConnVnfInstance.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/ChangeExtConnVnfInstance.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Change current VNF package task                                             #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/change_vnfpkg:
    #SOL003 location: 5.4.11a.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      description: |
        The POST method changes the current VNF package on which the VNF instance is based. See clause 5.4.11a.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/ChangeCurrentVnfPkgRequest'
          $ref: '#/components/responses/ChangeVnfpkgVnfInstance.Post.202'
        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: '#/components/responses/ChangeVnfpkgVnfInstance.Post.409'
        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"

  ###############################################################################
  # VNF LCM operation occurrences                                               #
  ###############################################################################
  /vnf_lcm_op_occs:
    #SOL003 location: 5.4.12
      description: |
        The API consumer can use this method to query status information about multiple VNF lifecycle management
        operation occurrences. See clause 5.4.12.3.2.
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: '#/components/parameters/filter_vnf_lcm_op_occs'
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/all_fields_vnfm
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/fields_vnfm
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/exclude_fields_vnfm
        - $ref: '#/components/parameters/exclude_default_vnf_lcm_op_occs'
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
          $ref: '#/components/responses/VnfLcmOpOccs.Get.200'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Individual VNF LCM operation occurrence                                     #
  ###############################################################################
  /vnf_lcm_op_occs/{vnfLcmOpOccId}:
    #SOL003 location: 5.4.13
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      description: |
        The API consumer can use this method to retrieve status information about a VNF lifecycle management operation
        occurrence by reading an "Individual VNF LCM operation occurrence" resource. See clause 5.4.13.3.2.
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
          $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get.200'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Retry operation task                                                        #
  ###############################################################################
  /vnf_lcm_op_occs/{vnfLcmOpOccId}/retry:
    #SOL003 location: 5.4.14
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      description: |
        The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary
        failure, i.e. the related "Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state.
        See clause 5.4.14.3.1.
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
          $ref: '#/components/responses/RetryVnfLcmOpOcc.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/RetryVnfLcmOpOcc.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/RetryVnfLcmOpOcc.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Rollback operation task                                                     #
  ###############################################################################
  /vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback:
    #SOL003 location: 5.4.15  
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      description: |
        The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary
        failure, i.e. the related "Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state.
        See clause 5.4.15.3.1.
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
          $ref: '#/components/responses/RollbackVnfLcmOpOcc.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/RollbackVnfLcmOpOcc.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/RollbackVnfLcmOpOcc.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Fail operation task                                                         #
  ###############################################################################
  /vnf_lcm_op_occs/{vnfLcmOpOccId}/fail:
    #SOL003 location: 5.4.16  
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      description: |
        The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation
        occurrence is in "FAILED_TEMP" state. See clause 5.4.16.3.1.
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
          $ref: '#/components/responses/FailVnfLcmOpOcc.Post.200'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/FailVnfLcmOpOcc.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/FailVnfLcmOpOcc.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Cancel operation task                                                       #
  ###############################################################################
  /vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel:
    #SOL003 location: 5.4.17
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      description: |
        The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled
        back, i.e. the related "Individual VNF LCM operation occurrence" resource is either in "STARTING" or
        "PROCESSING" or "ROLLING_BACK" state. See clause 5.4.17.3.1.
      requestBody:
          $ref: '#/components/requestBodies/CancelModeRequest'
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
          $ref: '#/components/responses/CancelVnfLcmOpOcc.Post.202'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: '#/components/responses/CancelVnfLcmOpOcc.Post.404'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/CancelVnfLcmOpOcc.Post.409'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
  /subscriptions:
    #SOL003 location: 5.4.18
    parameters:
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      description: |
        The POST method creates a new subscription. See clause 5.4.18.3.1.
      requestBody:
        $ref: '#/components/requestBodies/LccnSubscriptionRequest'
          $ref: '#/components/responses/Subscriptions.Post.201'
          $ref: '#/components/responses/Subscriptions.Post.303'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: '#/components/responses/Subscriptions.Post.422'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
      description: |
        The GET method queries the list of active subscriptions of the functional block that invokes the method.
        It can be used e.g. for resynchronization after error situations. See clause 5.4.18.3.2.
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: '#/components/parameters/filter_subscriptions'
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
          $ref: '#/components/responses/Subscriptions.Get.200'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
  /subscriptions/{subscriptionId}:
    #SOL003 location: 5.4.19
    parameters:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      description: |
        The GET method retrieves information about a subscription by reading an "Individual subscription" resource.
        See clause 5.4.19.3.2.
Gergely Csatari's avatar
Gergely Csatari committed
      parameters:
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/IndividualSubscription.Get.200'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
      description: |
        The DELETE method terminates an individual subscription. See clause 5.4.19.3.5.
          $ref: '#/components/responses/IndividualSubscription.Delete.204'
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"

  ###############################################################################
  # Create VNF snapshot task                                                    #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/create_snapshot:
    #SOL003 location: 5.4.21.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      description: |
        The POST method requests taking a snapshot a VNF instance and populating a previously created VNF snapshot
        resource (refer to clause 5.4.23.3.1) with the snapshot content. See clause 5.4.21.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/CreateVnfSnapshotRequest'
          $ref: '#/components/responses/CreateVnfSnapshotTask.Post.202'
        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: '#/components/responses/CreateVnfSnapshotTask.Post.404'
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
        409:
          $ref: '#/components/responses/CreateVnfSnapshotTask.Post.409'
          $ref: '#/components/responses/CreateVnfSnapshotTask.Post.422'
        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"

  ###############################################################################
  # Revert to VNF snapshot task                                                 #
  ###############################################################################
  /vnf_instances/{vnfInstanceId}/revert_to_snapshot:
    #SOL003 location: 5.4.22.2
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      description: |
        The POST method requests reverting a VNF instance to a VNF snapshot. See clause 5.4.22.3.1.
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
        - $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
      requestBody:
        $ref: '#/components/requestBodies/RevertToVnfSnapshotRequest'