NSLifecycleManagement.yaml 102 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
  version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  description: ETSI GS NFV-SOL 005 V3.6.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.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.
        - in: query
          name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
            The NFVO shall support receiving this parameter as part of the URI query string. 
            The OSS/BSS may supply this parameter.
            All attribute names that appear in the NsInstance and in data types referenced from 
            it shall be supported by the NFVO in the filter expression.
          schema:
            type: string
        - $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
        - 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 for details. The NFVO shall support this parameter.
            The following attributes shall be excluded from the NsInstance structure in the response 
            body if this parameter is provided, or none of the parameters "all_fields", "fields", 
            "exclude_fields", "exclude_default" are provided:
            -	vnfInstances
            -	pnfInfo
            -	virtualLinkInfo
            -	vnffgInfo
            -	sapInfo
            -	nsScaleStatus
            -	additionalAffinityOrAntiAffinityRules
            -	wanConnectionInfo
          schema:
            type: string
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/NsInstances.Get.200'
          $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.201'
          $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
          $ref: '#/components/responses/IndividualNsInstance.Get.200'
          $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.
          $ref: '#/components/responses/IndividualNsInstance.Delete.204'
          $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: '#/components/responses/IndividualNsInstance.Delete.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'
          $ref: '#/components/responses/InstantiateNsInstance.Post.202'
          $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: '#/components/responses/InstantiateNsInstance.Post.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'
          $ref: '#/components/responses/ScaleNsInstance.Post.202'
          $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: '#/components/responses/ScaleNsInstance.Post.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'
          $ref: '#/components/responses/UpdateNsInstance.Post.202'
          $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: '#/components/responses/UpdateNsInstance.Post.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'
          $ref: '#/components/responses/HealNsInstance.Post.202'
          $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: '#/components/responses/HealNsInstance.Post.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'
          $ref: '#/components/responses/TerminateNsInstance.Post.202'
          $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: '#/components/responses/TerminateNsInstance.Post.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.
        - in: query
          name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
            The NFVO shall support receiving this parameter as part of the URI query string. 
            The OSS/BSS may supply this parameter.
            All attribute names that appear in the NsLcmOpOcc and in data types referenced from 
            it shall be supported by the NFVO in the filter expression.
          schema:
            type: string
        - $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 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
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/NsLcmOpOccs.Get.200'
          $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
          $ref: '#/components/responses/IndividualNsLcmOpOcc.Get.200'
          $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.
          $ref: '#/components/responses/NsLcmOpOccRetry.Post.202'
          $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: '#/components/responses/NsLcmOpOccRetry.Post.404'
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
          $ref: '#/components/responses/NsLcmOpOccRetry.Post.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.
          $ref: '#/components/responses/NsLcmOpOccRollback.Post.202'
          $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: '#/components/responses/NsLcmOpOccRollback.Post.404'
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
          $ref: '#/components/responses/NsLcmOpOccRollback.Post.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.
          $ref: '#/components/responses/NsLcmOpOccContinue.Post.202'
          $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: '#/components/responses/NsLcmOpOccContinue.Post.404'
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
          $ref: '#/components/responses/NsLcmOpOccContinue.Post.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
          $ref: '#/components/responses/NsLcmOpOccFail.Post.200'
          $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: '#/components/responses/NsLcmOpOccFail.Post.404'
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
          $ref: '#/components/responses/NsLcmOpOccFail.Post.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'
          $ref: '#/components/responses/NsLcmOpOccCancel.Post.202'
          $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: '#/components/responses/NsLcmOpOccCancel.Post.404'
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
          $ref: '#/components/responses/NsLcmOpOccCancel.Post.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.
        - in: query
          name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
            The NFVO shall support receiving this parameter as part of the URI query string. 
            The OSS/BSS may supply this parameter.
            All attribute names that appear in the LccnSubscription and in data types referenced 
            from it shall be supported by the NFVO in the filter expression.
          schema:
            type: string
        - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker
        - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
          $ref: '#/components/responses/NsLcmSubscriptions.Get.200'
          $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.201'
          $ref: '#/components/responses/NsLcmSubscriptions.Post.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: '#/components/responses/NsLcmSubscriptions.Post.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
          $ref: '#/components/responses/IndividualNsLcmSubscription.Get.200'
          $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.
          $ref: '#/components/responses/IndividualNsLcmSubscription.Delete.204'
          $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.
        - in: query
          name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
            The NFVO shall support receiving this parameter as part of the URI query string. 
            The OSS/BSS may supply this parameter.
            All attribute names that appear in the VnfSnapshotInfo and in data types referenced 
            from it shall be supported by the NFVO in the filter expression. 
          schema:
            type: string
        - $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
        - 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 for details. The NFVO shall support this parameter.
            The following attributes shall be excluded from the VnfSnapshot structure in the response 
            body if this parameter is provided, or none of the parameters "all_fields", "fields", 
            "exclude_fields", "exclude_default" are provided:
            -	vnfInstance
            -	vnfcSnapshots
          schema:
            type: string
        - $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.200'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "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.200'
        "400":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/400
        "401":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/401
        "403":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/403
        "404":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/404
        "405":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/405
        "406":
          $ref: ../responses/SOL005_resp.yaml#/components/responses/406
        "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.
          $ref: '#/components/responses/IndividualVnfSnapshot.Delete.204'
        "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

    filter:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV SOL 013.
        The NFVO shall support receiving this parameter as part of the URI query string. 
        The OSS/BSS may supply this parameter.
        All attribute names that appear in the NsInstance and in data types referenced from 
        it shall be supported by the NFVO in the filter expression.
      in: query
      required: false
      schema:
        type: string

    exclude_default:
      name: exclude_default
      in: query
      description: >-
        Indicates to exclude the following complex attributes from the response.
        See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter.
        The following attributes shall be excluded from the NsInstance structure in the response 
        body if this parameter is provided, or none of the parameters "all_fields", "fields", 
        "exclude_fields", "exclude_default" are provided:
        -	vnfInstances
        -	pnfInfo
        -	virtualLinkInfo
        -	vnffgInfo
        -	sapInfo
        -	nsScaleStatus
        -	additionalAffinityOrAntiAffinityRules
        -	wanConnectionInfo
      required: false
      schema:
        type: string

    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.