NSLifecycleManagement.yaml 76.1 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 and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification
    takes precedence.
    Please report bugs to https://forge.etsi.org/rep/nfv/SOL005/issues
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
  version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  description: ETSI GS NFV-SOL 005 V3.3.1
  url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL005ed331_Os-Ma-nfvo_APIs_-_spec/NFV-SOL005ed331v304.zip

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

    $ref: ../endpoints/SOL005_endpoints.yaml#/endpoints/api-versions
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      summary: Query multiple NS instances.
        The GET method queries information about multiple NS instances. This method shall support the URI query parameters,
        request and response data structures, and response codes, as specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-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
    post:
      summary: Create a NS instance resource.
      description: |
        The POST method creates a new NS instance resource. As the result of successfully executing this method, a new
        "Individual NS instance" resource as defined in clause 6.4.3 shall have been created, and the value of the
        "instantiationState" attribute in the representation of that resource shall be "NOT_INSTANTIATED". A notification
        of type NsIdentifierCreationNotification shall be triggered as part of successfully executing this method as defined
        in clause 6.5.2.6.
      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
rameshnaraya's avatar
rameshnaraya committed
      summary: Read an individual NS instance resource.
      description: |
        The GET method retrieves information about a NS instance by  reading an individual NS instance resource.
        - $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
rameshnaraya's avatar
rameshnaraya committed
      summary: Delete NS instance resource.
        Delete NS Identifier
        This method deletes an individual NS instance resource. As the result of successfully executing this method, the
        "Individual NS instance" resource shall not exist any longer. A notification of type "NsIdentifierDeletionNotification"
        shall be triggered as part of successfully executing this method as defined in clause 6.5.2.7.
        "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
rameshnaraya's avatar
rameshnaraya committed
      summary: Instantiate a NS.
      description: |
        The POST method requests to instantiate a NS instance resource. The steps and conditions that apply as the result
        of successfully executing this method are specified in clause 6.4.1.2. In addition, once the NFVO has successfully
        completed the underlying NS LCM operation occurrence, it shall set the "nsState" attribute to the value "INSTANTIATED"
        in the representation of the "Individual NS instance" resource.
        - $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
rameshnaraya's avatar
rameshnaraya committed
      summary: Scale a NS instance.
      description: |
        The POST method requests to scale a NS instance resource. The steps and conditions that apply as the result of
        successfully executing this method are specified in clause 6.4.1.2. In addition, once the NFVO has successfully
        completed the underlying NS LCM operation occurrence, it shall reflect the result of scaling the NS instance by
        updating the "nsScaleStatus" attribute in the representation of the "Individual NS instance" resource.
        - $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
rameshnaraya's avatar
rameshnaraya committed
      summary: Updates a NS instance.
        The POST method updates an NS instance.
        - $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
      description: |
        The POST method requests to heal an NS instance. This method shall follow the provisions specified in the Tables
        6.4.7.3.1-1 and 6.4.7.3.1-2 for URI query parameters, request and response data structures, and response codes.
        The steps and conditions that apply as the result of successfully executing this method are specified in clause
        6.4.1.2.
        - $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
      summary: Terminate a NS instance.
      description: |
        Terminate NS task.   The POST method terminates an NS instance. This method shall follow the provisions specified
        in the Tables 6.4.8.3.1-1 and 6.4.8.3.1-2 for URI query parameters, request and response data structures, and
        response codes. The steps and conditions that apply as the result of successfully executing this method are
        specified in clause 6.4.1.2. In addition, once the NFVO has successfully completed the underlying NS LCM operation
        occurrence, it shall set the "nsState" attribute in the representation of the "Individual NS instance" resource
        to the value "NOT_INSTANTIATED". This method can only be used with an NS instance in the INSTANTIATED state.
        Terminating an NS instance does not delete the NS instance identifier, but rather transitions the NS into the
        NOT_INSTANTIATED state.
        - $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
rameshnaraya's avatar
rameshnaraya committed
      summary: Query multiple NS LCM operation occurrences.
      description: |
        Get Operation Status. Shall be returned upon the following error: The operation cannot be executed currently,
        due to a conflict with the state of the resource. Typically, this is due to the fact that the NS instance resource
        is in NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall
        contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error.
        - $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
        - $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/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
rameshnaraya's avatar
rameshnaraya committed
      summary: Read an individual NS LCM operation occurrence resource.
      description: |
        The API consumer can use this method to read status information about a NS lifecycle management operation
        occurrence by reading an individual "NS LCM operation occurrence" resource. This method shall follow the provisions
        specified in the Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for URI query parameters, request and response data structures,
        and response codes.
        - $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
rameshnaraya's avatar
rameshnaraya committed
      summary: Retry a NS lifecycle management operation occurrence.
      description: |
        The POST method initiates retrying a 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. This method shall
        follow the provisions specified in the  Tables 6.4.11.3.1-1 and 6.4.11.3.1-2 for URI query parameters, request
        and response data structures, and response codes.
        "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
rameshnaraya's avatar
rameshnaraya committed
      summary: Rollback a NS lifecycle management operation occurrence.
      description: |
        The POST method initiates rolling back a NS lifecycle operation  if that operation has experienced a temporary
        failure, i.e. the related "NS LCM operation occurrence" is in "FAILED_TEMP" state. This method shall follow the
        provisions specified in the  Tables 6.4.12.3.1-1 and 6.4.12.3.1-2 for URI query parameters, request and response
        data structures, and response codes.
        "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
rameshnaraya's avatar
rameshnaraya committed
      summary: Continue a NS lifecycle management operation occurrence.
      description: |
        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. This method shall follow the
        provisions specified in the Tables 6.4.13.3.1-1 and 6.4.13.3.1-2 for URI query parameters, request and response
        data structures, and response codes.
        "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
rameshnaraya's avatar
rameshnaraya committed
      summary: Mark a NS lifecycle management operation occurrence as failed.
      description: |
        The POST method marks a NS lifecycle management operation  occurrence as "finally failed" if that operation
        occurrence is in "FAILED_TEMP" state.
      parameters:
        - $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
rameshnaraya's avatar
rameshnaraya committed
      summary: Cancel a NS lifecycle management operation occurrence.
        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.
        This method shall follow the provisions specified in the Tables 6.4.15.3.1-1 and 6.4.15.3.1-2 for URI query
        parameters, request and response data structures, and response codes. Before returning the "202 Accepted" response,
        the NFVO shall update the "isCancelPending" and "cancelMode" attributes in the representation of the parent resource
        according to the provisions in clause 6.5.2.3. In case of success of processing the asynchronous request:
        1) If the request has been processed in "PROCESSING" or "ROLLING_BACK" state, the "operationState" attribute in
           the representation of the parent resource shall be changed to "FAILED_TEMP". In both cases, the NFVO shall update
           the "isCancelPending" and "cancelMode" attributes in the representation of the parent resource according to the
           provisions in clause 6.5.2.3 to reflect the new status, and the applicable "result" notification according to
           clause 6.6.2.2 shall be emitted to indicate that the execution of the underlying NS LCM operation occurrence
           has temporarily failed. Due to race conditions, the processing of the actual operation that is to be cancelled
           may eventually still succeed, in which case the "operationState" attribute in the representation of the parent
           resource shall represent the result of that operation, rather than the result of the cancellation.
        - $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
rameshnaraya's avatar
rameshnaraya committed
      summary: Query multiple subscriptions.
        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/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
    post:
      summary: Subscribe to NS lifecycle change notifications.
      description: |
        The POST method creates a new subscription. This method shall support the URI query parameters, request and
        response data structures, and response codes, as specified in the Tables 6.4.16.3.1-1 and 6.4.16.3.1-2. Creation
        of two subscription resources with the same callbackURI and the same filter can result in performance degradation
        and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases.
        Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with
        the same filter and callbackUri already exists (in which case it shall return the "201 Created" response code),
        or may decide to not create a duplicate subscription resource (in which case it shall return a "303 See Other"
        response code referencing the existing subscription resource with the same filter and callbackUri).
      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
rameshnaraya's avatar
rameshnaraya committed
      summary: Read an individual subscription resource.
      description: |
        The GET method retrieves information about a subscription by reading an individual subscription resource. This
        method shall support the URI query parameters, request and response data structures, and response codes, as
        specified in the Tables 6.4.17.3.2-1 and 6.4.17.3.2-2
      parameters:
        - $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
rameshnaraya's avatar
rameshnaraya committed
      summary: Terminate a subscription.
      description: |
        The DELETE method terminates an individual subscription. This method shall support the URI query parameters,
        request and response data structures, and response codes, as specified in the Tables 6.4.17.3.5-1 and 6.4.17.3.5-2.
        As the result of successfully executing this method, the "Individual subscription" resource shall not exist any
        longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer.
        NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed API consumer for
        a certain time period after the deletion.
        "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:
      summary: Query VNF snapshots
      description: |
        The GET method queries information about multiple VNF snapshots.
      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:
      summary: Query an Individual VNF snapshot
      description: |
        The GET method retrieves information about a VNF snapshot by reading an "Individual VNF snapshot" resource.
      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:
      summary: Delete an Individual VNF snapshot
      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.
        As the result of successfully executing this method, the "Individual VNF snapshot" resource shall not exist any
        longer. In addition, the NFVO shall delete any references pointing to the "Individual VNF snapshot" resource from
        the "NsInstance" data structures representing the "Individual NS instance" resources.
      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: