Commit fcc3b122 authored by moscatelli's avatar moscatelli
Browse files

SOL005: OpenAPI version updated to 1.0.0 for all interfaces + Notification interfaces created

parent 5267857f
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
     description: >
       String formatted according to IETF RFC 3986.
     type: string

   Link:
     description: >
       This type represents a link to a resource.
@@ -37,6 +38,7 @@
           URI of the referenced resource.
         type: string
         format: url

   DateTime:
     description: >
       Date-time stamp. 
+1065 −0

File added.

Preview size limit exceeded, changes collapsed.

+302 −0
Original line number Diff line number Diff line
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
  NsdOnBoardingNotification:
    type: object
    required:
      - _links
      - id
      - notificationType
      - subscriptionId
      - nsdId
      - nsdInfoId
      - timeStamp
    properties:
      id:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      notificationType:
        type: string
        description: >
          Discriminator for the different notification types. Shall be
          set to "NsdOnboardingNotification" for this notification type.
      subscriptionId:
        $ref: "../../NSDManagement/SOL005_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
      nsdInfoId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      nsdId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      _links:
        $ref: "#/definitions/NsdmLinks"
    description: >
      This type represents an NSD management notification, which informs
      the receiver of the successful on-boarding of an NSD. It shall comply with
      the provisions defined in Table 5.5.2.9-1. The support of this notification
      is mandatory. The notification shall be triggered by the NFVO when the "
      nsdOnboardingState" attribute of a new NSD has changed to "ONBOARDED".

  NsdOnBoardingFailureNotification:
    type: object
    required:
      - _links
      - id
      - notificationType
      - subscriptionId
      - nsdInfoId
      - onboardingFailureDetails
      - timeStamp
    properties:
      id:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      notificationType:
        type: string
        description: >
          Discriminator for the different notification types. Shall be
          set to "NsdOnboardingFailureNotification" for this notification type.
      subscriptionId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
      nsdInfoId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      nsdId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      onboardingFailureDetails:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/ProblemDetails"
      _links:
        $ref: "#/definitions/NsdmLinks"
    description: >
      This type represents an NSD management notification, which informs
      the receiver of the failure of on-boarding an NSD. It shall comply with the
      provisions defined in Table 5.5.2.10-1. The support of this notification is
      mandatory. The notification shall be triggered by the NFVO when the on-boarding
      of an NSD has failed.

  NsdChangeNotification:
    type: object
    required:
      - _links
      - id
      - notificationType
      - subscriptionId
      - nsdId
      - nsdInfoId
      - nsdOperationalState
      - timeStamp
    properties:
      id:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      notificationType:
        type: string
        description: >
          Discriminator for the different notification types. Shall be
          set to "NsdChangeNotification" for this notification type.
      subscriptionId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
      nsdInfoId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      nsdId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      nsdOperationalState:
        $ref: "../../NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdOperationalStateType"
      _links:
        $ref: "#/definitions/NsdmLinks"
    description: >
      This type represents an NSD management notification, which informs
      the receiver of a change of the "nsdOperationalState" attribute of an on-boarded
      NSD. Changes in the value of the "nsdUsageState" and "nsdOnboardingState"
      attributes are not reported. The notification shall comply with the provisions
      defined in Table 5.5.2.11-1. The support of this notification is mandatory.
      The notification shall be triggered by the NFVO when the value of the "nsdOperationalState"
      attribute has changed, and the "nsdOperationalState" attribute has the value
      "ONBOARDED".

  NsdDeletionNotification:
    type: object
    required:
      - _links
      - id
      - notificationType
      - subscriptionId
      - nsdId
      - nsdInfoId
      - timeStamp
    properties:
      id:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      notificationType:
        type: string
        description: >
          Discriminator for the different notification types. Shall be
          set to "NsdDeletionNotification " for this notification type.
      subscriptionId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
      nsdInfoId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      nsdId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      _links:
        $ref: "#/definitions/NsdmLinks"
    description: >
      This type represents an NSD management notification, which informs
      the receiver of the deletion of an on-boarded NSD. The notification shall
      comply with the provisions defined in Table 5.5.2.12-1. The support of this
      notification is mandatory. The notification shall be triggered by the NFVO
      when it has deleted an on-boarded NSD.

  PnfdOnBoardingNotification:
    type: object
    required:
      - _links
      - id
      - notificationType
      - subscriptionId
      - pnfdId
      - pnfdInfoId
      - timeStamp
    properties:
      id:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      notificationType:
        type: string
        description: >
          Discriminator for the different notification types. Shall be
          set to "PnfdOnboardingNotification" for this notification type.
      subscriptionId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
      pnfdInfoId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      pnfdId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      _links:
        $ref: "#/definitions/PnfdmLinks"
    description: >
      This type represents a PNFD management notification, which informs
      the receiver of the successful on-boarding of aPNFD. It shall comply with
      the provisions defined in Table 5.5.2.13-1. The support of this notification
      is mandatory. The notification is triggered when a new PNFD is on-boarded.

  PnfdOnBoardingFailureNotification:
    type: object
    required:
      - _links
      - id
      - notificationType
      - subscriptionId
      - onboardingFailureDetails
      - pnfdInfoId
      - timeStamp
    properties:
      id:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      notificationType:
        type: string
        description: >
          Discriminator for the different notification types. Shall be
          set to "PnfdOnboardingFailureNotification" for this notification type.
      subscriptionId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
      pnfdInfoId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      pnfdId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      onboardingFailureDetails:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/ProblemDetails"
      _links:
        $ref: "#/definitions/PnfdmLinks"
    description: >
      This type represents a PNFD management notification, which informs
      the receiver of the failure of on-boarding a PNFD. It shall comply with
      the provisions defined in Table 5.5.2.14-1. The support of this notification
      is mandatory. The notification is triggered when the on-boarding of a PNFD
      fails.

  PnfdDeletionNotification:
    type: object
    required:
      - _links
      - id
      - notificationType
      - subscriptionId
      - pnfdId
      - pnfdInfoId
      - timeStamp
    properties:
      id:
        type: string
        description: >
          Identifier of this notification. If a notification is sent multiple
          times due to multiple subscriptions, the "id" attribute of all these
          notifications shall have the same value.
      notificationType:
        type: string
        description: >
          Discriminator for the different notification types. Shall be
          set to "PnfdDeletionNotification " for this notification type.
      subscriptionId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/DateTime"
      pnfdInfoId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      pnfdId:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Identifier"
      _links:
        $ref: "#/definitions/PnfdmLinks"
    description: >
      This type represents a PNFD management notification, which informs
      the receiver of the deletion of an on-boarded PNFD. The notification shall
      comply with the provisions defined in Table 5.5.2.15-1. The support of this
      notification is mandatory. The notification is triggered when an on-boarded
      PNFD is deleted.

  NsdmLinks:
    type: object
    required:
      - nsdInfo
      - subscription
    properties:
      nsdInfo:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Link"
      subscription:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Link"
    description: >
      This type represents the links to resources that an NSD management
      notification can contain.

  PnfdmLinks:
    type: object
    required:
      - pnfdInfo
      - subscription
    properties:
      pnfdInfo:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Link"
      subscription:
        $ref: "../../NSDManagement/definitions/SOL005_def.yaml#/definitions/Link"
    description: >
      This type represents the links to resources that a PNFD management
      notification can contain.
+323 −0
Original line number Diff line number Diff line
swagger: "2.0"

info:
  version: "1.0.0"
  title: "SOL005 - NS Fault Management Notification interface"
  description: >
    SOL005 - NS Fault 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. In case of
    discrepancies the published ETSI Group Specification takes precedence.


    In clause 4.3.2 of ETSI GS NFV-SOL 002 v2.4.1, an attribute-based
    filtering mechanism is defined. This mechanism is currently not
    included in the corresponding OpenAPI design for this GS version. Changes
    to the attribute-based filtering mechanism are being considered in v2.5.1
    of this GS for inclusion in the corresponding future ETSI NFV OpenAPI
    design.

    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt

externalDocs:
  description: ETSI GS NFV-SOL 005 V2.4.1
  url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf

basePath: /callback/v1

schemes:
  - http
  - https

consumes:
  - application/json
produces:
  - application/json
paths:
  ##################################################################################
  # Notification endpoint NS Fault Management                                      #
  ##################################################################################
  '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification':
    post:
      summary: Notify about NS alarms
      description: >
        The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt.

      parameters:
        - name: alarmNotification
          description: >
            Information of a NS alarm.
          in: body
          required: true
          schema:
            properties:
              AlarmNotification:
                $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmNotification"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
      responses:
        204:
          description: >
            204 No Content

            The notification was delivered successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
              type: string
              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.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
        400:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/403"
        500:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/503"

  '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmClearedNotification':
    #ETSI GS NFV-SOL 005 V2.4.1 location: 8.4.6
    post:
      summary: Notify about NS alarms
      description: >
        The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt.
      parameters:
        - name: alarmClearedNotification
          description: >
            Information of the clearance of a NS alarm.
          in: body
          required: true
          schema:
            properties:
              AlarmClearedNotification:
                $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmClearedNotification"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
      responses:
        204:
          description: >
            204 No Content

            The notification was delivered successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
              type: "string"
              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.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
        400:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/403"
        500:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/503"

  '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification':
    post:
      summary: Notify about NS alarms
      description: >
        The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt.
      parameters:
        - name: AlarmListRebuiltNotification
          description: >
            Information that the alarm list has been rebuilt by the NFVO.
          in: body
          required: true
          schema:
            properties:
              AlarmListRebuiltNotification:
                $ref: "definitions/SOL005NSFaultManagementNotification_def.yaml#/definitions/AlarmListRebuiltNotification"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Content-Type
          description: >
            The MIME type of the body of the request.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
      responses:
        204:
          description: >
            204 No Content

            The notification was delivered successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
              type: string
              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.
              maximum: 1
              minimum: 0
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
        400:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/403"
        500:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/503"

    get:
      summary: Test the notification endpoint
      description: >
        The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during
        subscription.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: >
            The authorization token for the request.
            Reference: IETF RFC 7235
          in: header
          required: false
          type: string
        - name: Version
          description: >
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          type: string
      responses:
        204:
          description: >
            204 No Content

            The notification endpoint was tested successfully.
            The response body shall be empty.
          headers:
            WWW-Authenticate:
              type: string
              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.
              maximum: 1
              minimum: 0
        400:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/400"
        401:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/401"
        403:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/403"
        500:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/500"
        503:
          $ref: "../NSFaultManagement/responses/SOL005_resp.yaml#/responses/503"
 No newline at end of file
+173 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading