VNFLifecycleManagementNotification.yaml 10.8 KB
Newer Older

info:
  title: SOL002 - VNF Lifecycle Management Notification interface
    SOL002 - VNF Lifecycle Management Notification 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/SOL002-SOL003/issues
moscatelli's avatar
moscatelli committed
    name: ETSI Forge copyright notice
    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 002 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.03.01_60/gs_NFV-SOL002v030301p.pdf
servers:
  - url: http://127.0.0.1/callback/v1
  - url: https://127.0.0.1/callback/v1
  /URI-is-provided-by-the-client-when-creating-the-subscription_VnfLcmOperationOccurrenceNotification:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
    get:
      description: |
        The GET method allows the server to test the notification endpoint that is provided by the API consumer,
        e.g. during subscription.
      responses:
        "204":
          $ref: '#/components/responses/VNFLCMNotification.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503

        The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
        previously created an "Individual subscription" resource with a matching filter.
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/VnfLcmOperationOccurrenceNotification'
        "204":
          $ref: '#/components/responses/VNFLCMNotification.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
  /URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierCreationNotification:
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      description: |
        The GET method allows the server to test the notification endpoint that is provided by the API consumer,
        e.g. during subscription.
        "204":
          $ref: '#/components/responses/VNFLCMNotification.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
        The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
        previously created an "Individual subscription" resource with a matching filter.
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/VnfIdentifierCreationNotification'
        "204":
          $ref: '#/components/responses/VNFLCMNotification.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
  /URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierDeletionNotification:
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      description: |
        The GET method allows the server to test the notification endpoint that is provided by the API consumer,
        e.g. during subscription.
        "204":
          $ref: '#/components/responses/VNFLCMNotification.Get'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
        The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
        previously created an "Individual subscription" resource with a matching filter.
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/VnfIdentifierDeletionNotification'
        "204":
          $ref: '#/components/responses/VNFLCMNotification.Post'
        "400":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
        "401":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
        "403":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
        "405":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
        "406":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
        "500":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
        "503":
          $ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
components:
  requestBodies:
    VnfLcmOperationOccurrenceNotification:
      description: |
        A notification about lifecycle changes triggered by a VNF LCM operation occurrence.
      content:
        application/json:
          schema:
            $ref: ./definitions/SOL002VNFLifecycleManagementNotification_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification
      required: true
    VnfIdentifierCreationNotification:
      description: |
        A notification about lifecycle changes triggered by a VNF LCM operation occurrence.
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierCreationNotification
      required: true
    VnfIdentifierDeletionNotification:
      description: |
        A notification about the deletion of a VNF identifier and the related "Individual VNF instance" resource.
      content:
        application/json:
          schema:
            $ref: ../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification
      required: true

  responses:
    VNFLCMNotification.Get:
      description: |
        201 NO CONTENT
        Shall be returned to indicate the notification endpoint has been  tested successfully. The response body
        shall be empty.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
      content: {}

    VNFLCMNotification.Post:
      description: |
        204 NO CONTENT
        Shall be returned when the notification has been delivered successfully. The response body shall be empty.
      headers:
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
      content: {}