VNFLifecycleManagement.yaml 71.8 KB
Newer Older
moscatelli's avatar
moscatelli committed
  title: SOL002 - VNF Lifecycle Management interface
  description: |
    SOL002 - 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 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/bugzilla/buglist.cgi?component=Nfv-Openapis
  contact:
    name: NFV-SOL WG
moscatelli's avatar
moscatelli committed
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  description: ETSI GS NFV-SOL 002 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
security:
  - OauthSecurity:
    - all
servers:
  - url: http://127.0.0.1/vnflcm/v1
  - url: https://127.0.0.1/vnflcm/v1
  /api_versions:
    $ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions

  /vnf_instances:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        The GET method queries information about multiple VNF instances.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
        "200":
          $ref: '#/components/responses/VnfInstances.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

    post:
      description: |
        The POST method creates a new VNF instance resource.
      parameters:
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceCreationRequest'
      responses:
        "201":
          $ref: '#/components/responses/VnfInstances.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        Information about a VNF instance by reading an "Individual VNF instance".
        "200":
          $ref: '#/components/responses/IndividualVnfInstance.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

        This method deletes an "Individual VNF instance" resource.
        "204":
          $ref: '#/components/responses/IndividualVnfInstance.Delete'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

    patch:
      description: |
        This method modifies an "Individual VNF instance" resource. Changes to the VNF configurable properties are
        applied to the configuration in the VNF instance, and are reflected in the representation of this resource.
        Other changes are applied to the VNF instance information managed by the VNFM, and are reflected in the
        representation of this resource
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceModificationRequest'
      responses:
        "202":
          $ref: '#/components/responses/IndividualVnfInstance.Patch'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "412":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}/instantiate:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        The POST method instantiates a VNF instance.
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceInstantiationRequest'
        "202":
          $ref: '#/components/responses/InstantiateVnfInstance.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}/scale:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      description: |
        The POST method requests to scale a VNF instance resource incrementally.
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceScaleRequest'
        "202":
          $ref: '#/components/responses/ScaleVnfInstance.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}/scale_to_level:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      description: |
        The POST method requests to scale a VNF instance resource to a target level.
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceScaleToLevelRequest'
        "202":
          $ref: '#/components/responses/ScaleVnfInstanceToLevel.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}/change_flavour:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        The POST method changes the deployment flavour of a VNF instance.
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceChangeFlavourRequest'
        "202":
          $ref: '#/components/responses/VnfInstanceChangeFlavour.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}/terminate:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        The POST method terminates a VNF instance.
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceTerminationRequest'
        "202":
          $ref: '#/components/responses/TerminateVnfInstance.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}/heal:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        The POST method requests to heal a VNF instance.
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceHealRequest'
        "202":
          $ref: '#/components/responses/HealVnfInstance.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}/operate:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        The POST method changes the operational state of a VNF instance.
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceOperateRequest'
        "202":
          $ref: '#/components/responses/OperateVnfInstance.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_instances/{vnfInstanceId}/change_ext_conn:
      - $ref: '#/components/parameters/VnfInstanceId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
        The POST method changes the external connectivity of a VNF instance.
      requestBody:
        $ref: '#/components/requestBodies/VnfInstanceChangeExtConnRequest'
        "202":
          $ref: '#/components/responses/VnfInstanceChangeExtConn.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_lcm_op_occs:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      description: |
        The client can use this method to query status information about multiple VNF lifecycle management operation occurrences.
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/all_fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_fields
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/exclude_default
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
        "200":
          $ref: '#/components/responses/VnfLcmOpOccs.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_lcm_op_occs/{vnfLcmOpOccId}:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      description: |
        The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence
        by reading an "Individual VNF LCM operation occurrence" resource.
        "200":
          $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_lcm_op_occs/{vnfLcmOpOccId}/retry:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      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.
        "202":
          $ref: '#/components/responses/VnfLcmOpOccRetry.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      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.
        "202":
          $ref: '#/components/responses/VnfLcmOpOccRollback.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_lcm_op_occs/{vnfLcmOpOccId}/fail:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      description: |
        The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation
        occurrence is in "FAILED_TEMP" state.
        "200":
          $ref: '#/components/responses/VnfLcmOpOccFail.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      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" is either in "PROCESSING" or "ROLLING_BACK" state.
        "202":
          $ref: '#/components/responses/VnfLcmOpOccCancel.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "409":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /subscriptions:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      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.
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
      responses:
        "200":
          $ref: '#/components/responses/Subscriptions.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

    post:
      description: |
        The POST method creates a new subscription.
      requestBody:
        $ref: '#/components/requestBodies/VnfLcmSubscriptionRequest'
        "201":
          $ref: '#/components/responses/Subscriptions.Post'
        "303":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/303
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

  /subscriptions/{subscriptionId}:
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      description: |
        The GET method retrieves information about a subscription by reading an "Individual subscription" resource.
        "200":
          $ref: '#/components/responses/IndividualSubscription.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

        The DELETE method terminates an individual subscription.
      responses:
        "204":
          $ref: '#/components/responses/IndividualSubscription.Delete'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
        "404":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
        "416":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
        "422":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
        "429":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
        "504":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504

components:
  parameters:
    VnfInstanceId:
      name: vnfInstanceId
      in: path
      description: |
        Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the "Location"
        HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved
        from the "id" attribute in the payload body of that response.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    VnfLcmOpOccId:
      name: vnfLcmOpOccId
      in: path
      description: |
        Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource
        referenced by the "Location" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation.
        It can also be retrieved from the "vnfLcmOpOccId" attribute in the VnfLcmOperationOccurrenceNotification.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    SubscriptionId:
      name: subscriptionId
      in: path
      description: |
        Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location"
        HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from
        the "id" attribute in the payload body of that response.
      required: true
      style: simple
      explode: false
      schema:
        type: string

  requestBodies:
    VnfInstanceCreationRequest:
      description: |
        The VNF creation parameters, as defined in clause 5.5.2.3.
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest
      required: true

    VnfInstanceModificationRequest:
      description: Input parameters for VNF info modification
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest
      required: true

    VnfInstanceInstantiationRequest:
      description: Parameters for the VNF instantiation.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest
      required: true

    VnfInstanceScaleRequest:
      description: Parameters for the scale VNF operation.
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest
      required: true

    VnfInstanceScaleToLevelRequest:
      description: Parameters for the scale VNF to Level operation.
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest
      required: true

    VnfInstanceChangeFlavourRequest: