VNFLifecycleManagement.yaml 56.3 KB
Newer Older
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        409:
          $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Fail operation task                                                         #
###############################################################################
  '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail':
    #SOL003 location: 5.4.16  
    parameters:
      - name: vnfLcmOpOccId
        description: >
          Identifier of a VNF lifecycle management operation occurrence to be
          be marked as "failed". This identifier can be retrieved from the
          resource referenced by the "Location" HTTP header in the response to
          a PATCH or POST request triggering a VNF LCM operation. It can also
          be retrieved from the "vnfLcmOpOccId" attribute in the
          VnfLcmOperationOccurrenceNotification.
        in: path
        required: true
        type: string
    post: 
      description: >
        The POST method marks a VNF lifecycle management operation occurrence
        as "finally failed" if that operation occurrence is in "FAILED_TEMP"
        state.
      responses:
        200:
          description: > 
            The state of the VNF lifecycle management operation occurrence was
            changed successfully. The response shall include a representation
            of the VNF lifecycle operation occurrence resource.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        409:
          $ref: "responses/VNFLifecycleManagement_resp.yaml#/responses/409-state-conflict-not-FAILED_TEMP"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Cancel operation task                                                       #
###############################################################################
  '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel':
    #SOL003 location: 5.4.17
    parameters:
      - name: vnfLcmOpOccId
        description: >
          Identifier of a VNF lifecycle management operation occurrence to be
          be cancelled. This identifier can be retrieved from the
          resource referenced by the "Location" HTTP header in the response to
          a PATCH or POST request triggering a VNF LCM operation. It can also
          be retrieved from the "vnfLcmOpOccId" attribute in the
          VnfLcmOperationOccurrenceNotification.
        in: path
        required: true
        type: string
    post: 
      description: >
        The POST method initiates cancelling an ongoing VNF lifecycle
        operation while it is being executed or rolled back, i.e. the related
        "VNF LCM operation occurrence" is either in "PROCESSING" or
        "ROLLING_BACK" state.
      responses:
        202:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/202"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-resource-not-exists-VNF-LCM"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        409:
          description: > 
            The operation cannot be executed currently, due to a conflict with
            the state of the VNF LCM operation occurrence resource.
            Typically, this is due to the fact that the operation occurrence
            is not in STARTING, PROCESSING or ROLLING_BACK state.
            The response body shall contain a ProblemDetails structure, in
            which the "detail" attribute shall convey more information about
            the error.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Subscriptions                                                               #
###############################################################################
  '/subscriptions':
    #SOL003 location: 5.4.18
    post: 
      description: >
        The POST method creates a new subscription.
        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 NFVO, and might make sense only in
        very rare use cases. Consequently, the VNFM 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:
        - name: LccnSubscriptionRequest
          description: > 
            Details of the subscription to be created.
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest"
      responses:
        201:
          description: > 
            The subscription was created successfully. The response body shall
            contain a representation of the created subscription resource.
            The HTTP response shall include a "Location" HTTP header that
            points to the created subscription resource.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Location:
              description: The resource URI of the created VNF instance
              type: string
              format: url
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
        303:
          description: > 
            A subscription with the same callbackURI and the same filter already
            exists and the policy of the VNFM is to not create redundant
            subscriptions.
            The HTTP response shall include a "Location" HTTP header that
            contains the resource URI of the existing subscription resource.
            The response body shall be empty.
          headers:
            Location:
              description: The resource URI of the created VNF instance
              type: string
              format: url
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
    get: 
      description: >
        The GET method queries the list of active subscriptions of the
        functional block that invokes the method. It can be used e.g. for
        resynchronization after error situations.
      responses:
        200:
          description: > 
            The list of subscriptions was queried successfully. The response
            body shall contain the representations of all active subscriptions
            of the functional block that invokes the method.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
        400:
          description: > 
            Invalid attribute-based filtering parameters.
            The response body shall contain a ProblemDetails structure, in
            which the "detail" attribute should convey more information about
            the error.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
###############################################################################
# Individual subscription                                                     #
###############################################################################
  '/subscriptions/{subscriptionId}':
    #SOL003 location: 5.4.19
    parameters:
      - name: subscriptionId
        description: >
          Identifier of this subscription.
          This identifier can be retrieved from the resource referenced by
          the "Location" HTTP header in the response to a POST request
          creating a new subscription resource. It can also be retrieved from
          the "id" attribute in the payload body of that response.
        in: path
        type: string
        required: true
    get:
      description: >
        The GET method retrieves information about a subscription by reading
        an individual subscription resource.
      responses:
        200:
          description: > 
            The operation has completed successfully.
            The response body shall contain a representation of the
            subscription resource.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
    delete:
      description: >
        The DELETE method terminates an individual subscription.
      responses:
        204:
          description: > 
            The subscription resource was deleted successfully.
            The response body shall be empty.
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404-task-not-suported-VNF-LCM"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"