NSLifecycleManagement.yaml 68.6 KB
Newer Older
  title: SOL005 - NS Lifecycle Management Interface
  description: |
    SOL005 - NS 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/SOL005/issues
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
Giacomo Bernini's avatar
Giacomo Bernini committed
  version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  description: ETSI GS NFV-SOL 005 V3.5.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.05.01_60/gs_nfv-sol005v030501p.pdf
Giacomo Bernini's avatar
Giacomo Bernini committed
  - url: http://127.0.0.1/nslcm/v2
  - url: https://127.0.0.1/nslcm/v2
    $ref: ../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The GET method queries information about multiple NS instances. See clause 6.4.2.3.2.
        - $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
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        "200":
          $ref: '#/components/responses/NsInstances.Get'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
        The POST method creates a new NS instance resource. See clause 6.4.2.3.1.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceCreateRequest'
      responses:
        "201":
          $ref: '#/components/responses/NsInstances.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The GET method retrieves information about an NS instance by reading an "Individual NS instance" resource.
        See clause 6.4.3.3.2.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
        "200":
          $ref: '#/components/responses/IndividualNsInstance.Get'
        "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/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
        This method deletes an "Individual NS instance" resource. See clause 6.4.3.3.5.
        "204":
          $ref: '#/components/responses/IndividualNsInstance.Delete'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/412
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /ns_instances/{nsInstanceId}/instantiate:
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method instantiates an NS instance. See clause 6.4.4.3.1.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceInstantiateRequest'
        "202":
          $ref: '#/components/responses/InstantiateNsInstance.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /ns_instances/{nsInstanceId}/scale:
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method requests to scale an NS instance resource. See clause 6.4.5.3.1.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceScaleRequest'
        "202":
          $ref: '#/components/responses/ScaleNsInstance.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /ns_instances/{nsInstanceId}/update:
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method updates an NS instance. See clause 6.4.6.3.1.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceUpdateRequest'
        "202":
          $ref: '#/components/responses/UpdateNsInstance.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method requests to heal an NS instance. See clause 6.4.7.3.1.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceHealRequest'
        "202":
          $ref: '#/components/responses/HealNsInstance.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /ns_instances/{nsInstanceId}/terminate:
      - $ref: '#/components/parameters/NsInstanceId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method terminates an NS instance. See clause 6.4.8.3.1.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsInstanceTerminateRequest'
        "202":
          $ref: '#/components/responses/TerminateNsInstance.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /ns_lcm_op_occs:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The API consumer can use this method to query status information about multiple NS lifecycle management
        operation occurrences. See clause 6.4.9.3.2.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/fields
        - $ref: ../components/SOL005_params.yaml#/components/parameters/exclude_fields
        - in: query
          name: exclude_default
          description: >
            - Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 [16] for details. The NFVO shall support this parameter.

              The following attributes shall be excluded from the NsLcmOpOcc structure in the response body if this parameter is provided:
              -	operationParams
              -	changedVnfInfo
              -	error
              -	resourceChanges
              -	lcmCoordinations
              - warnings
          schema:
            type: string
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        "200":
          $ref: '#/components/responses/NsLcmOpOccs.Get'
        "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/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The API consumer can use this method to retrieve status information about an NS lifecycle management operation
        occurrence by reading an individual "NS LCM operation occurrence" resource. See clause 6.4.10.3.2.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
        "200":
          $ref: '#/components/responses/IndividualNsLcmOpOcc.Get'
        "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/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /ns_lcm_op_occs/{nsLcmOpOccId}/retry:
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method initiates retrying an NS lifecycle management operation if that operation has experienced a
        temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.11.3.1.
        "202":
          $ref: '#/components/responses/NsLcmOpOccRetry.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /ns_lcm_op_occs/{nsLcmOpOccId}/rollback:
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method initiates rolling back an NS lifecycle operation if that operation has experienced a
        temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.12.3.1.
        "202":
          $ref: '#/components/responses/NsLcmOpOccRollback.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /ns_lcm_op_occs/{nsLcmOpOccId}/continue:
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method initiates continuing an NS lifecycle operation if that operation has experienced a
        temporary failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. See clause 6.4.13.3.1.
        "202":
          $ref: '#/components/responses/NsLcmOpOccContinue.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/fail:
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method marks an NS lifecycle management operation occurrence as "finally failed" if that
        operation occurrence is in "FAILED_TEMP" state. See clause 6.4.14.3.1.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        "200":
          $ref: '#/components/responses/NsLcmOpOccFail.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel:
      - $ref: '#/components/parameters/NsLcmOpOccId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The POST method initiates cancelling an ongoing NS lifecycle management operation while it is being executed
        or rolled back, i.e. the related "NS LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state.
        See clause 6.4.15.3.1.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsLcmOpOccCancelRequest'
        "202":
          $ref: '#/components/responses/NsLcmOpOccCancel.Post'
        "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/409
          $ref: ../responses/SOL005_resp.yaml#/components/responses/416
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        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 6.4.16.3.2.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/filter
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        "200":
          $ref: '#/components/responses/NsLcmSubscriptions.Get'
        "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/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
        The POST method creates a new subscription. See clause 6.4.16.3.1.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/NsLcmSubscriptionRequest'
      responses:
        "201":
          $ref: '#/components/responses/NsLcmSubscriptions.Post'
        "303":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/303
          $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/422
          $ref: ../responses/SOL005_resp.yaml#/components/responses/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
      - $ref: '#/components/parameters/SubscriptionId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
        The GET method retrieves information about a subscription by reading an "Individual subscription" resource.
        See clause 6.4.17.3.2.
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
        "200":
          $ref: '#/components/responses/IndividualNsLcmSubscription.Get'
        "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/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
        The DELETE method terminates an individual subscription. See clause 6.4.17.3.5.
        "204":
          $ref: '#/components/responses/IndividualNsLcmSubscription.Delete'
        "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/500
          $ref: ../responses/SOL005_resp.yaml#/components/responses/503
          $ref: ../responses/SOL005_resp.yaml#/components/responses/504
  /vnf_snapshots:
    parameters:
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      description: |
        The GET method queries information about multiple VNF snapshots. See clause 6.4.19.3.2.
      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
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      responses:
        "200":
          $ref: '#/components/responses/VnfSnapshots.Get'
        "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
        "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

  /vnf_snapshots/{vnfSnapshotInfoId}:
    parameters:
      - $ref: '#/components/parameters/VnfSnapshotInfoId'
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
    get:
      description: |
        The GET method retrieves information about a VNF snapshot by reading an "Individual VNF snapshot" resource.
        See clause 6.4.20.3.2.
      parameters:
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
      responses:
        "200":
          $ref: '#/components/responses/IndividualVnfSnapshot.Get'
        "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
        "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: |
        This method deletes an "Individual VNF snapshot" resource and the associated VNF snapshot information managed by
        the NFVO and corresponding VNFM, and any resource associated to the VNF snapshot managed by the VIM.
        See clause 6.4.20.3.5.
      responses:
        "204":
          $ref: '#/components/responses/IndividualVnfSnapshot.Delete'
        "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
        "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

components:
  parameters:
    NsInstanceId:
      name: nsInstanceId
      in: path
      description: |
        Identifier of the NS instance.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    NsLcmOpOccId:
      name: nsLcmOpOccId
      in: path
      description: |
        Identifier of a NS lifecycle management operation occurrence.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    SubscriptionId:
      name: subscriptionId
      in: path
      description: |
        Identifier of this subscription.
      required: true
      style: simple
      explode: false
      schema:
        type: string

    VnfSnapshotInfoId:
      name: vnfSnapshotInfoId
      in: path
      description: |
        Identifier of the "Individual VNF snapshot" resource.
        This identifier can be retrieved from the "id" attribute in the payload body of a response to a query to
        "VNF snapshots" resource.
      required: true
      style: simple
      explode: false
      schema:
        type: string

  requestBodies:
    NsInstanceCreateRequest:
      description: |
        The NS creation parameters, as defined in clause 6.5.2.7.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CreateNsRequest
      required: true
    NsInstanceInstantiateRequest:
      description: |
        Parameters for the instantiate NS operation, as defined in clause 6.5.2.11.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/InstantiateNsRequest
      required: true

    NsInstanceScaleRequest:
      description: |
        Parameters for the scale NS operation, as defined in clause 6.5.2.14.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/ScaleNsRequest
      required: true

    NsInstanceUpdateRequest:
      description: |
        Parameters for the update NS operation, as defined in clause 6.5.2.12.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/UpdateNsRequest
      required: true

    NsInstanceHealRequest:
      description: |
        Parameters for the heal NS operation, as defined in clause 6.5.2.13.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/HealNsRequest
      required: true

    NsInstanceTerminateRequest:
      description: |
        The terminate NS request parameters, as defined in  clause 6.5.2.15.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/TerminateNsRequest
      required: true

    NsLcmOpOccCancelRequest:
      description: |
        The POST request to this resource shall include a CancelMode structure in the payload body to choose between
        "graceful" and "forceful" cancellation.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/CancelMode
      required: true

    NsLcmSubscriptionRequest:
      description: |
        Details of the subscription to be created, as defined in clause 6.5.2.2.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest
      required: true

  responses:
    NsInstances.Get:
      description: |
        200 OK
        Shall be returned when information about zero or more NS instances has been queried successfully. The response
        body shall contain in an array the representations of zero or more NS instances, as defined in clause 6.5.2.8.
        If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields" (if supported)
        or "exclude_default" URI parameters was supplied in the request, the data in the response body shall have been
        transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013 [16], respectively.
        If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [16] for this resource,
        inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013 [16].
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false