Commit c0310c41 authored by Samir Medjiah's avatar Samir Medjiah
Browse files

SOL005: NS PM Notification interface migrated to OpenAPI 3.0.2

parent fdff003d
Loading
Loading
Loading
Loading
+149 −189
Original line number Diff line number Diff line
swagger: "2.0"
openapi: 3.0.2

info:
  version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
  title: "SOL005 - NS Performance Management Notification interface"
  description: >
  title: SOL005 - NS Performance Management Notification interface
  description: |
    SOL005 - NS Performance 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.
    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
  contact:
    name: NFV-SOL WG
  license:
    name: "ETSI Forge copyright notice"
    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

externalDocs:
  description: ETSI GS NFV-SOL 005 V2.7.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf

basePath: /callback/v2

schemes:
  - http
  - https
  description: ETSI GS NFV-SOL 005 V3.3.1
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020701p.pdf

consumes:
  - application/json

produces:
  - application/json
servers:
  - url: http://127.0.0.1/callback/v2
  - url: https://127.0.0.1/callback/v2

paths:
  ##################################################################################
  # Notification endpoint PerformanceInformationAvailableNotification              #
  ##################################################################################
  '/URI_is_provided_by_the_client_when_creating_the_subscription_PerformanceInformationAvailableNotificatio':
  /URI_is_provided_by_the_client_when_creating_the_subscription_PerformanceInformationAvailableNotificatio:
    parameters:
      - 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
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept

    post:
      summary: Notify about PM related events
      description: >
      description: |
        The POST method delivers a notification regarding a performance management event 
        from the API producer to an API consumer. The API consumer shall have previously 
        created an "Individual PM job resource" or "Individual threshold resource".
@@ -59,48 +44,12 @@ paths:
        Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, request and response
        data strctures, and response codes.
      parameters:
        - name: PerformanceInformationAvailableNotification
          description: >
            Notification about performance information availability.
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSPerformanceManagementNotification_def.yaml#/definitions/PerformanceInformationAvailableNotification"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          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
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/PerformanceInformationAvailableNotification'
      responses:
        204:
          description: >
            204 NO CONTENT

            Shall be returned when the notification was delivered successfully.
          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
          $ref: '#/components/responses/PerformanceInformationAvailableNotification.Post.204'
        400:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
        401:
@@ -120,44 +69,16 @@ paths:

    get:
      summary: Test the notification endpoint
      description: >
      description: |
        The GET method allows the API producer to test the notification
        endpoint that is provided by the API consumer, e.g. during
        creation of the PM job or threshold resource.
        This method shall follow the provisions specified in the
        Tables 7.4.9.3.2-1 and 7.4.9.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
      responses:
        204:
          description: >
            204 NO CONTENT

            Shall be returned to indicate that the notification endpoint has been 
            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
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
          $ref: '#/components/responses/PerformanceInformationAvailableNotification.Get.204'
        400:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
        401:
@@ -178,25 +99,15 @@ paths:
  ##################################################################################
  # Notification endpoint ThresholdCrossedNotification                             #
  ##################################################################################
  '/URI_is_provided_by_the_client_when_creating_the_subscription_ThresholdCrossedNotification':
  /URI_is_provided_by_the_client_when_creating_the_subscription_ThresholdCrossedNotification:
    parameters:
      - 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
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
      - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept

    post:
      summary: Notify about PM related events
      description: >
      description: |
        The POST method delivers a notification regarding a performance management event 
        from the API producer to an API consumer. The API consumer shall have previously 
        created an "Individual PM job resource" or "Individual threshold resource".
@@ -204,48 +115,12 @@ paths:
        Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters, request and response
        data strctures, and response codes.
      parameters:
        - name: ThresholdCrossedNotification
          description: >
            Notification about threshold crossing.
          in: body
          required: true
          schema:
            $ref: "definitions/SOL005NSPerformanceManagementNotification_def.yaml#/definitions/ThresholdCrossedNotification"
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231
          in: header
          required: true
          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
        - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/ThresholdCrossedNotification'
      responses:
        204:
          description: >
            204 NO CONTENT

            Shall be returned when the notification was delivered successfully.
          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
          $ref: '#/components/responses/ThresholdCrossedNotification.Post.204'
        400:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
        401:
@@ -265,44 +140,16 @@ paths:

    get:
      summary: Test the notification endpoint
      description: >
      description: |
        The GET method allows the API producer to test the notification
        endpoint that is provided by the API consumer, e.g. during
        creation of the PM job or threshold resource.
        This method shall follow the provisions specified in the
        Tables 7.4.9.3.2-1 and 7.4.9.3.2-2 for URI query parameters,
        request and response data structures, and response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response.
            Reference: IETF RFC 7231.
          in: header
          required: true
          type: string
      responses:
        204:
          description: >
            204 NO CONTENT

            Shall be returned to indicate that the notification endpoint has been 
            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
            Version:
              description: >
                Version of the API used in the response.
              type: string
              maximum: 1
              minimum: 1
          $ref: '#/components/responses/ThresholdCrossedNotification.Get.204'
        400:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/400"
        401:
@@ -319,3 +166,116 @@ paths:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/500"
        503:
          $ref: "../responses/SOL005_resp.yaml#/components/responses/503"

components:
  requestBodies:
    PerformanceInformationAvailableNotification:
      description: |
        Notification about performance information availability.
      content:
        application/json:
          schema:
            $ref: "definitions/SOL005NSPerformanceManagementNotification_def.yaml#/definitions/PerformanceInformationAvailableNotification"
      required: true

    ThresholdCrossedNotification:
      description: |
        Notification about threshold crossing.
      content:
        application/json:
          schema:
            $ref: "definitions/SOL005NSPerformanceManagementNotification_def.yaml#/definitions/ThresholdCrossedNotification"
      required: true

  responses:
    PerformanceInformationAvailableNotification.Post.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification was delivered successfully.
      headers:
        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
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string

    PerformanceInformationAvailableNotification.Get.204:
      description: |
        204 NO CONTENT

        Shall be returned to indicate that the notification endpoint has been 
        tested successfully.
        The response body shall be empty.
      headers:
        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
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string

    ThresholdCrossedNotification.Post.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification was delivered successfully.
      headers:
        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
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string

    ThresholdCrossedNotification.Get.204:
      description: |
        204 NO CONTENT

        Shall be returned to indicate that the notification endpoint has been 
        tested successfully.
        The response body shall be empty.
      headers:
        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
        Version:
          description: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string
 No newline at end of file